【问题标题】:Web scraping with Python-Windmill (How to accurately wait till a page fully loads)使用 Python-Windmill 进行网页抓取(如何准确地等待页面完全加载)
【发布时间】:2012-01-21 06:27:07
【问题描述】:
  1. 我一直在玩风车来尝试一些网页抓取,但是 API waits.forPageLoad 无法检查页面是否完全呈现。

  2. 在我需要使用现有 DOM 重新加载页面并使用 waits.forElement 检测 DOM 以使脚本“确定”页面已加载的情况下。这有时会在页面加载之前检测到 DOM。

  3. 在 Firefox 中使用 windmill 测试客户端加载页面似乎需要很长时间。如果我使用常规的 firefox 浏览器加载同一页面,可能需要 2 秒,但在测试客户端中可能需要一分钟。需要这么长时间正常吗?

  4. 最后我想知道是否有更好的替代风车进行网页抓取?文档似乎有点稀疏。

请指教。谢谢:P

【问题讨论】:

  • 如何定义带有 AJAX 请求的页面的“页面已加载”?
  • 第三点:清除常规Firefox浏览器中的缓存并尝试加载页面。需要多长时间?
  • Selenium Webdriver 可以用作替代方案,但它使用'Use The Source Luke!' 方法进行文档。
  • 我清除了我的缓存,但它的加载速度仍然没有测试客户端那么慢。嗯。
  • 对我来说,只要加载了 DOM 并且填充了组合框之类的东西,页面就已经加载了。我不确定带有 AJAX 请求的页面是什么意思。

标签: python web-scraping windmill


【解决方案1】:
 client.waits.sleep(milliseconds=u'2000')

绝对停顿 2 秒。

 client.waits.forPageLoad(timeout=u'20000')

将在以后的行中等待,直到页面加载或 20 秒过去,以先到者为准。把它想象成一个时间边界的断言。如果页面在 20 秒内加载通过,如果没有失败。

希望对你有帮助,

TD

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-10
    • 1970-01-01
    • 1970-01-01
    • 2019-02-10
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多