我正在尝试从下面的网址中抓取数据。但是selenium有时会driver.get(url)
出错[Errno 104] Connection reset by peer
,有时会失败[Errno 111] Connection refused
。 在极少数情况下,它可以正常工作,
并且在使用实际浏览器的Mac上,同一蜘蛛每次都能正常工作。因此,这与我的无关spider
。
尝试了许多解决方案,例如在页面上等待获取选择器,隐式等待,使用selenium-requests传递正确的请求标头等,但似乎没有任何效果。
http://www.snapdeal.com/offers/deal-of-the-day
https://paytm.com/shop/g/paytm-home/exclusive-discount-deals
我使用的python
,selenium
与headless Firefox webdriver
实现这一目标。操作系统是centos 6.5
。
注意: 我有许多AJAX
沉重的页面被成功抓取,下面是一些页面。
http://www.infibeam.com/deal-of-the-day.html, http://www.amazon.in/gp/goldbox/ref=nav_topnav_deals
已经花了很多天试图调试问题,但是没有运气。任何帮助,将不胜感激。
经过几天的纠缠,终于找到了原因。在这里写出来是为了社区的利益。无头浏览器由于缺少RAM
服务器而失败,来自的奇怪错误消息webdriver
是真实的pita
。
服务器连续运行了好60
几天没有重启,重新启动就可以了。将交换次数增加3倍后,过去几天一直没有遇到问题。还安排了清理页面文件缓存的任务(http://www.yourownlinux.com/2013/10/how-
to-free-up-release-unused-cached-memory-in-
linux.html
)。
问题内容: 我尝试使用rubyseleniumwebdriver运行一些基本的自动化测试。相同的代码在我的家用计算机上可以完美地工作,但是在我的工作计算机上却无法工作,而我的工作计算机位于代理后面(不需要身份验证)。 driver = Selenium :: WebDriver.for:firefox,:profile =>’默认’ 我得到的错误是: 浏览器将使用正确的配置文件打开,但驱动程序变量
我尝试使用ruby selenium WebDriver运行一些基本的自动化测试。同样的代码在我的家用计算机上工作得很好,但在我的工作计算机上失败了,因为我的工作计算机后面有一个代理(不需要身份验证)。 有什么想法吗?
我正在使用WebDriver(Eclipse-Java)来自动化注册页面。点击“注册”按钮时,会显示一条“成功消息”,并需要验证该消息。 我可以在IE8中成功地做到这一点。但无法在Firefox中验证相同的内容。我试过不同的等待。D1.manage().timeouts().implicitlywait(60,TimeUnit.seconds); > WebDriverWait wait=新建We
线程“main”java.lang.IllegalStateException中的异常:驱动程序可执行文件的路径必须由WebDriver.Chrome.driver系统属性设置;有关更多信息,请参见https://github.com/seleniumhq/selenium/wiki/chromedriver。最新版本可从http://chromedriver.storage.googleapis
问题内容: 由于某些未知原因,我的浏览器非常缓慢地打开了远程服务器的测试页。因此,我在考虑是否可以在退出脚本后重新连接到浏览器,但不执行此操作将使浏览器保持打开状态。这可能是HOOK或Webdriver句柄。我查找了seleniumAPI文档,但未找到任何功能。我正在使用Chrome 62,x64,windows 7,selenium3.8.0。如果问题能够解决,我将不胜感激。 问题答案: 不 ,
问题内容: 目前,我正在查看Selenium Server,但似乎没有注意到支持无头浏览器测试的驱动程序。 除非我弄错了,否则它不支持。如果您使用的是X,则可以创建一个虚拟的帧缓冲区来隐藏浏览器窗口,但这并不是真正的无头浏览器。 谁能启发我?Selenium是否支持无头浏览器测试? 问题答案: 您无需使用PhantomJS替代Selenium。Selenium包括一个在GhostDriver平台上