WWW::Mechanize is of course one of the indispensable tools for any web programmer or admin. The current problem is the proliferation of 3rd party subclasses, the functionalities of which cannot be used together. So you want a polite Mechanize which does self-rate-limiting and uses the Firefox or IE engine? A subclass exists for each feature, but how do you use them together? WWW::Mechanize needs to be more role/plugin-oriented instead of inheritance-oriented.
A well written, well documented and very tidy module. Andy is a craftsman.
Perfect for automating testing of websites, or creating simple site spider.
I combined it with KinoSearch to create a site search index.
Combine with your choice of HTML parser (e.g. HTML::TreeBuilder) and you've got a perfect tool for scraping information from web pages.
This should be in every web developers toolkit.
Excellent module. Has saved me a lot of work automating maintenance on appliances with only a web interface.
In general, it does the job very well, and has a reasonably well rounded API.
However, it has a few problems. One small problem, and one medium problem.
The small problem is that in some ways the API can be a little thin. It does the essentials, but sometimes it's lacking a convenience method here or there that would just make using it that much cleaner.
The medium problem is the test suite. It does the job if you are a normal unix situation, with a normal setup.
However, sometimes the test suite generates false failures because it hasn't been built sufficiently robustly.
It uses an internal test server that fails on strange and interesting platforms, like Windows, and it seems to assume a real connection to the Internet, and fails if it can't connect.
The situation is slowly improving, but it still fails on 5.6, it fails a lot on cygwin, and it fails periodically on Win32 native.
Any module with literally hundreds of other modules depending on it shouldn't fail ANYWHERE, under ANY circumstances.
This lets down an otherwise excellent module, and so I tend to reach for vanilla LWP::UserAgent more often that I would like, simply for the improved compatibility, safety, and robustness.
An awesome module that makes screen-scraping and programatically interacting with websites fun instead of a chore.
A well thought-out interface which allows you to just get on with coding what you want to do, quickly and cleanly.
Nice piece of software. I'm missing Digest-Authentication, but only a bit.
I've used this great module several times and it is a great help in automating web based stuff.
A very useful object that was easy to use and saved me (I suspect) hours solving a problem.
This looks like an excellent package, but I've never been able to get a version which passed the tests on the Windows or Linux boxes I've used. So I'll have to disagree with the comments that this should be a replacement for LWP::UserAgent. The fact that this package often (but not always) fails tests on certain platforms makes me reticent to require it for an application.
Oh, Mechanize, how do I love thee? Let me count the ways: *****
I used to think, "I guess Mechanize is OK if you're into that sort of thing." Then I realized that getting into that sort of thing would save me endless hours. A WWW::Mechanize script need not be much more than: "go to this page; click that link; fill out the form as follows; submit; print the result from that paragraph." It just does what you want, quickly and easily.
Been using this for a short while (since 1.0.4) AND LOVE IT!
One thing, is it me or is the ->find_image method as mentioned in the docs not implemented?? I really could use that!
Great work Andy! Great work!
Best way to script a Web robot. Period.
A very nice high level interface that wraps up functionality provided by LWP::UserAgent. If you need to programmatically interact with websites WWW::Mechanize is a great choice. It's especially useful for automated testing of web applications.
Forgot IO::Socket and LWP to get pages, I just have used both to much! Well, WWW::Mechanize have a more intuitive way to work with the pages, like a real browser, and it works with SSL (HTTPS)!
I use WWW::Mechanize to automate testing of web applications, and find it very useful for that.
It is still in a development phase, which means there are still frequently non-backward-compatible changes being introduced. Still an excellent module overall.
Really excellent tool. I find it invaluable for writing acceptance tests for web based applications.
My only (minor) quibble is the lack of support for multiple submit buttons with the same name (see rt.cpan.org/NoAuth/Bug.html?id=2308), which can occasionally be annoying.
WWW::Mechanize is a great example of a well-thought out abstraction layer over a more abstruse module set. It's potential uses are manifold, and is quite easy to implement
WWW::Mechanize is a better module than plain LWP::UserAgent to automate WWW scripts. You should be able to use it in every place you were using LWP::UserAgent if that's not possible file a bug in WWW::Mechanize.
WWW::Mechanize gets the job done in simple steps.
2 hidden unhelpful reviews