使用 Python 和 Selenium WebDriver 时处理 Firefox 无响应的问题?


利用 Python 中的 Selenium Webdriver,我们可以处理 Firefox 无响应的情况。借助 FirefoxProfile 类即可实现这一目标。

我们将创建一个此类的对象,并对其应用 set_preference 方法。然后,将这些首选项 - dom.max_script_run_time 和 dom.max_chrome_script_run_time 作为参数传递给该方法,并将它们的值设置为 0。

最后,这些信息将被发送到 Webdriver 对象。

语法

f = webdriver.FirefoxProfile()
f.set_preference("dom.max_chrome_script_run_time", 0)
f.set_preference("dom.max_script_run_time", 0)

我们可以通过以下步骤获取浏览器的上述参数 -

  • 打开 Firefox 浏览器。

  • 在浏览器地址中键入 about:config

  • 在搜索栏中输入 dom.max_。

示例

from selenium import webdriver
from selenium.webdriver.firefox.options import Options
#object of FirefoxProfile class
f = webdriver.FirefoxProfile()
#configure preferences
f.set_preference("dom.max_chrome_script_run_time", 0)
f.set_preference("dom.max_script_run_time", 0)
#set geckodriver.exe path
driver = webdriver.Firefox(executable_path="C:\geckodriver.exe",
firefox_profile=f)
#maximize browser
driver.maximize_window()
#launch URL
driver.get("https://tutorialspoint.com/index.htm")

输出

Selenium 打开浏览器后,我们可以打开另一个标签并输入 about:config 以检查参数 - dom.max_script_run_time 和 dom.max_chrome_script_run_time。它们的值应设置为 0。

更新于: 2021 年 2 月 2 日

609 人次浏览

开启您的 职业生涯

完成课程以获得认证

开始学习
广告
© . All rights reserved.