这个问题以前曾被问过,但给出的答案似乎对我不起作用。问题是,当使用 Selenium 打开页面时,我会收到许多“无响应脚本”弹出窗口,引用不同的脚本。
当我使用不带 Selenium 的 Firefox 打开页面时,没有出现任何错误。另外,奇怪的是,当我手动使用 selenium 打开页面时,它可以工作。所以我什至无法确定问题所在。
我可以共享代码,但没有必要这样做。本质上发生的事情是这样的:
- 程序从 MySQLdb 收集 url 元组
- 创建 URL 列表
- 根据某些因素尝试使用 urllib2 或 selenium 打开 URL。
- 使用 selenium 打开时,每次都会创建新实例,因此:
driver = webdriver.Firefox()
driver.get(url)
do other things (either open links or get page source)
driver.close()
据我所知,错误发生在第二步(获取网址)。
我已将 about:config 中的脚本等待条件设置为非常高的数字和 0,但仍然收到错误。
这个问题有解决办法吗?
请注意,我不会出于测试目的打开自己的页面。相反,我正在打开第三方网站来获取某些数据。另请注意,有时音量会变得相当高(许多页面同时由不同的程序打开) - 也许这就是问题所在?
我现在的问题主要是我什至无法在另一台计算机上复制该问题,我完全迷失了。我希望其他人也遇到过类似的问题并找到解决方案。我感觉这与 Firefox 中的设置有关(而不是 about:config)。
在尝试了很多设置之后,我想我找到了一个有效的设置,而且,唉,这里提到了它,我只是不太明白如何使用它(b/c我从未处理过selenium中的firefox配置文件设置):Selenium 和 Firefox:如何关闭“无响应脚本”警告? https://stackoverflow.com/questions/7233322/selenium-firefox-how-can-i-turn-off-unresponsive-script-warnings?rq=1
解决方法如下:
from selenium import webdriver
fp = webdriver.FirefoxProfile()
fp.set_preference("dom.max_chrome_script_run_time", 0)
fp.set_preference("dom.max_script_run_time", 0)
driver = webdriver.Firefox(firefox_profile=fp)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)