繁体   English   中英

Selenium - 无响应的脚本错误(Firefox)

[英]Selenium - Unresponsive Script Error (Firefox)

之前已经问过这个问题,但给出的答案对我来说似乎不起作用。 问题是,当使用Selenium打开页面时,我会收到许多“无响应脚本”弹出窗口,引用不同的脚本。

当我使用没有Selenium的Firefox打开页面时,我没有错误。 另外,奇怪的是,当我手动使用selenium打开页面时,它可以工作。 所以我甚至无法确定问题所在。

我可以共享代码,但这样做是没有必要的。 基本上会发生这样的事情:

  1. 程序从MySQLdb收集url元组
  2. 创建URLS列表
  3. 尝试使用urllib2或selenium根据特定因素打开URLS。
  4. 使用selenium打开时,每次都会创建新实例,因此:
driver = webdriver.Firefox()
driver.get(url)
do other things (either open links or get page source)
driver.close()

据我所知,错误发生在第二步(获取网址)。

我已将脚本等待条件设置为about:config到非常高的数字和0,我仍然得到错误。

有这个问题的解决方案吗?

注意,我没有打开自己的页面用于测试目的。 相反,我打开第三方网站,以获取某些数据。 另请注意,有时卷可能会很高(很多页面同时由不同的程序打开) - 也许这就是问题?

我现在的问题主要是我甚至无法在另一台计算机上复制问题,我只是完全迷失了。 我希望其他人有类似的问题,并找到了解决方案。 我有一种感觉这与Firefox中的设置有关(不是关于:config)。

尝试了很多设置之后,我想我找到了一个有效的设置,唉,这里提到过,我只是不明白如何使用它(b / c我从未处理过selenium中的firefox配置文件): Selenium和Firefox:如何关闭“无响应脚本”警告?

解决方案如下:

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)
public class Send10000CharactersToChat {
private static WebDriver firefoxDriver;
@Before
public void initialize() {
    FirefoxProfile profile = new FirefoxProfile();
    profile.setPreference("dom.max_chrome_script_run_time", 0);
    profile.setPreference("dom.max_script_run_time", 0);
    firefoxDriver = new FirefoxDriver(profile);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM