使用 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.tw/index.htm")

輸出

Selenium 開啟瀏覽器後,我們可以開啟另一個標籤並輸入 about:config 以檢查引數 - dom.max_script_run_time 和 dom.max_chrome_script_run_time。它們的值應設定為 0。

更新於: 2021 年 2 月 2 日

609 人次瀏覽

開啟您的 職業生涯

完成課程以獲得認證

開始學習
廣告
© . All rights reserved.