Deepak
Deepak

Reputation: 2053

How can I get dynamically web content using Perl?

This is kind of tricky. There is this webpage which, I am guessing, uses some kind of AJAX to pull out content based on the search query. When I fetch the page using get in Perl, it fetches the script code behind the php/html, but not the results which are displayed when the query is searched manually. I need to be able to fetch the content of the results page. Is there anyway to do this in Perl?

Upvotes: 2

Views: 2964

Answers (2)

mirod
mirod

Reputation: 16161

If you are writing tests that need to check the rendered page, you can have a look at Schwern's javascript-tap-harness, which works with Selenium and handles all the scaffolding.

I also found Using WWW::Selenium To Test Or Automate An Ajax Website pretty useful.

Upvotes: 3

Chas. Owens
Chas. Owens

Reputation: 64919

Take a look at Selenium RC and the WWW::Selenium module in Perl. With them you can control a real web browser.

Another option is WWW::HtmlUnit which uses the HtmlUnit Java library to execute the JavaScript without a web browser. WWW::HtmlUnit uses Inline::Java to give Perl access to the library. I have found that when installing, it is best to say No to the question "Do you wish to build the JNI extension?".

Upvotes: 6

Related Questions