停止SeleniumWebDriver-python中的无限页面加载

停止SeleniumWebDriver-python中的无限页面加载,python,selenium-webdriver,Python,Selenium Webdriver,我正在使用selenium web驱动程序加载一个页面。但是该页面正在无限加载。 我试图捕捉异常并模拟esc键操作,但没有帮助。由于一些限制,我只能使用Firefox[我见过chrome插件解决方案]。一旦我点击页面,我就无法恢复控制 我将我的Firefox配置文件设置为 firefoxProfile = FirefoxProfile() firefoxProfile.set_preference('permissions.default.stylesheet', 2)

我正在使用selenium web驱动程序加载一个页面。但是该页面正在无限加载。 我试图捕捉异常并模拟esc键操作,但没有帮助。由于一些限制,我只能使用Firefox[我见过chrome插件解决方案]。一旦我点击页面,我就无法恢复控制

我将我的Firefox配置文件设置为

    firefoxProfile = FirefoxProfile()
    firefoxProfile.set_preference('permissions.default.stylesheet', 2)
    firefoxProfile.set_preference('permissions.default.image', 2)
    firefoxProfile.set_preference('dom.ipc.plugins.enabled.libflashplayer.so','false')
    firefoxProfile.set_preference("http.response.timeout", 10)
    firefoxProfile.set_preference("dom.max_script_run_time", 10)
要停止加载的脚本:

 try:
       driver.set_page_load_timeout(10)
       driver.get('http://www.example.com'     
 except Exception
        print 'time out'
        driver.send_keys(Keys.CONTROL +'Escape')

我在你的try/except块中看到了几个拼写错误,所以让我们很快纠正它们

try:
      driver.set_page_load_timeout(10)
      driver.get('http://www.example.com')
except Exception:
      print 'time out'
      driver.send_keys(Keys.CONTROL +'Escape')
我使用Selenium和Python已经有一段时间了(也使用FirefoxWebDriver)。另外,我假设您正在使用Python,只是从代码的语法来看

无论如何,您的Firefox配置文件应该有助于解决这个问题,但看起来您实际上并没有将其应用于驱动程序实例

试着做以下几点:

from selenium import webdriver # import webdriver to create FirefoxProfile

firefoxProfile = webdriver.FirefoxProfile()
firefoxProfile.set_preference('permissions.default.stylesheet', 2)
firefoxProfile.set_preference('permissions.default.image', 2)
firefoxProfile.set_preference('dom.ipc.plugins.enabled.libflashplayer.so','false')
firefoxProfile.set_preference("http.response.timeout", 10)
firefoxProfile.set_preference("dom.max_script_run_time", 10)

# now create browser instance and APPLY the FirefoxProfile
driver = webdriver.Firefox(firefox_profile=firefoxProfile)
使用Python 2.7和Selenium 2.46,这对我来说是可行的

源代码(Selenium文档):(向下滚动一小段,直到看到“Here is a example:”下的代码块)


让我知道进展如何,祝你好运

你能分享你正在使用的实际URL吗?这是我公司的项目,所以我不能公开分享URL。这会造成不必要的问题。好的,我明白,你根本不会设置配置文件首选项的是什么?它还是永远在加载吗?另外,您是否尝试等待30秒以上?如果我没有设置任何Firefox配置文件,则加载是正确的,但问题是该页面有100多个大尺寸图像。这使得加载过程非常缓慢。因此我想禁用图像。您好,感谢您的建议。但是,这无助于停止页面加载。但是,如果我尝试应用x路径提取异常块中的内容,我可以在页面仍在加载的情况下获得所需的内容,而不是尝试停止页面加载。因此,我正在应用x路径提取内容并关闭该窗口。您好,谢谢你的建议。这个问题已经通过在异常块上应用xpath解决了,正如我之前在commentSure中提到的。我仍然建议添加一行代码
driver=webdriver.Firefox(Firefox\u profile=firefoxProfile)
,这样您的firefoxProfile代码就可以实际使用了,因为现在还没有