【发布时间】:2013-05-13 17:09:03
【问题描述】:
我正在使用 Capybara 进行网络爬虫,但我面临以下挑战:在与一些 DOM 元素交互(例如单击按钮)后,我想知道(或做出正确的猜测)是否正在加载新页面以及是否有任何 AJAX 请求正在发生。因为我正在抓取我不一定控制的网站,所以我无法访问服务器端状态或不知道会发生什么(即,这不是等待页面加载的问题,而是知道是否它正在发生)。
最好的情况是我可以查询最近/正在进行/已完成的 HTTP 请求列表并从中获取数据。
或者,如果我至少能查明自上次交互后页面是否正在重新加载/是否已重新加载,那就太好了。
至少我可以检查我所在页面的 URL 是否与我以前所在的 URL 匹配,但这会错过 AJAX 请求、页面刷新,并且不会等待页面加载即将发生。寻找比这更好的东西。
我正在寻找与硒一起使用的东西。对于非 AJAX 情况,我希望它也可以与 webkit 一起使用。有什么建议吗?
【问题讨论】:
-
@BradWerth 这听起来不像是我的骗局
-
好的,所以听起来如果没有外部帮助,“基本情况”是不可能的。只是检查它是否正忙于加载页面呢?我知道可以要求它等到页面重新加载或某些 UI 元素发生更改,但除非您知道它是什么,否则这似乎没有帮助?
标签: ruby-on-rails capybara selenium-webdriver