1

我正在尝试抓取一个网站,是否需要使用 Javascript。我正在使用 Python 2.7 和 Spynner。这是脚本:

   <a href="javascript://" onclick="TranslationPopUpTestimonialQuery('Language_ALL', '',       '5', '10', 'date-of-visit')">6</a>

这是我在 Python 中的代码:

   import spynner
   browser = spynner.Browser()
   browser.load("http://www.zoover.it/italia/lazio/roma/galileo/hotel")
   page1 = browser._get_html()
   browser.runjs("TranslationPopUpTestimonialQuery('Language_ALL', '', '8', '10', 'date-of-visit')")
   browser.wait_load()
   page2 = browser._get_html()

有些东西不起作用,因为 get_html 没有给我想要的 html 页面......

这是第一个网址:http ://www.zoover.it/italia/lazio/roma/galileo/hotel 。我用 browser.load() 加载这个页面,我得到了 HTML。在我尝试转到第 2 页后,使用 browser.runjs() 模拟点击。我在 onClick 上调用 javascript。然后,如果我再次调用 browser._get_html(),则 HTML 是相同的。谁能帮我?谢谢

4

1 回答 1

0

如果您想要的 html 在弹出窗口中,您必须切换 spynner 框架。

spynner 为您提供的始终是活动框架 html,弹出窗口在另一个框架中打开。

Spynner 是 qtwebwekit 的接口,qtwebkit 使用它:http ://doc.qt.digia.com/4.7-snapshot/qwebframe.html

您可以看到有“子框架”,您可以使用 self.webframe 进行内省。

于 2012-10-07T06:08:50.377 回答