我最近用python和Selenium做了一个webscraper,我发现做起来非常简单。页面使用ajax调用加载数据,最初我等待一个固定的time_out加载页面。有一段时间奏效了。之后,我发现selenium有一个内置函数WebDriverWait,它可以使用wait.until()等待特定元素的加载。这使我的webscraper运行得更快。
问题是,我对结果还是不满意。我下载内容平均每页花了1.35秒。
1)scrapy是否自动并行运行多个url请求?
2)如何使用scrapy设置动态超时,比如Selenium的WebDriverWait wait.until()
3)如果scrapy没有可用的动态设定时间,并且解决方案是使用scrapy+selenium,让selenium等待内容加载,那么使用scrapy真的有什么好处吗?我可以使用selenium选择器简单地检索数据,就像我在使用scrapy之前所做的那样
谢谢你的帮助。
问题内容: 我编写了一个脚本,该脚本从页面中获取数据,但是有时页面需要花费一些时间来加载,因此当将html拉到汤对象中时,有时它什么也不会拉,因为页面仍然需要完成。 我编写了以下代码以等待页面完成。 有用 但是调用函数时出现以下错误; 问题答案: 我认为您应该这样使用: 如手册所述。
问题内容: 使用Selenium2Driver将Behat与Mink结合使用时,是否有办法可靠地等待页面加载? 我继承了一些旧的测试,像这样等待: 即仅此一次测试就需要1分钟30秒。 我想做的是有一种通用的方式来等待上一次单击以导致页面加载,而不必每次都等待大量固定的时间。 我可以看到等待页面加载的所有建议,都涉及检查是否已加载特定页面元素。 但是,这些测试是针对各种传统网站运行的,这些网站中并不
Selenium的SafariDriver似乎不会等待网页加载。我的测试如下: 如果您使用或运行此功能,它将正常运行,即搜索“您好世界”,然后在结果页面上转到图像结果。 使用,它会失败: 找不到的元素是“Images”,因为页面在运行该语句之前没有加载。 这是预期行为吗?我应该是狩猎旅行的特例吗?
问题内容: 您如何使Selenium 2.0等待页面加载? 问题答案: 您还可以使用以下代码检查页面加载
问题内容: 我想抓取无限滚动实现的页面的所有数据。以下python代码有效。 这意味着每次我向下滚动到底部时,我需要等待5秒钟,这通常足以使页面完成加载新生成的内容。但是,这可能不是省时的。该页面可能会在5秒内完成新内容的加载。每次向下滚动时,如何检测页面是否完成了新内容的加载?如果可以检测到此情况,则在知道页面加载完成后,可以再次向下滚动以查看更多内容。这样更省时。 问题答案: 该会通过等待页面
问题内容: 您如何使Selenium 2.0等待页面加载? 问题答案: 你可以期望显示一些元素。类似于C#: