首頁 >後端開發 >Python教學 >如何透過調整頁面載入策略來加速 Selenium 測試?

如何透過調整頁面載入策略來加速 Selenium 測試?

Linda Hamilton
Linda Hamilton原創
2024-11-14 20:30:03270瀏覽

How to Speed Up Selenium Tests by Tuning Page Loading Strategy?

調整Selenium 以繞過緩慢的腳本載入

Selenium 的預設行為是等到頁面完全載入後再繼續,這可能會出現問題頁麵包含緩慢或不可靠的腳本。若要緩解此問題,請考慮調整 Selenium 的頁面載入策略。

pageLoadStrategy 屬性可讓您操縱 Selenium 處理頁面載入事件的方式。透過指定適當的策略,您可以限制 Selenium 等待的時間、封鎖 AJAX 請求,甚至完全停用腳本載入。

為不同瀏覽器配置pageLoadStrategy

Firefox:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

caps = DesiredCapabilities().FIREFOX
caps["pageLoadStrategy"] = "normal"  # full page load
# caps["pageLoadStrategy"] = "eager"  # interactive
# caps["pageLoadStrategy"] = "none"
driver = webdriver.Firefox(desired_capabilities=caps, executable_path=r'C:\path\to\geckodriver.exe')
driver.get("http://google.com")

Chrome:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

caps = DesiredCapabilities().CHROME
caps["pageLoadStrategy"] = "normal"  # full page load
# caps["pageLoadStrategy"] = "eager"  # interactive
# caps["pageLoadStrategy"] = "none"
driver = webdriver.Chrome(desired_capabilities=caps, executable_path=r'C:\path\to\chromedriver.exe')
driver.get("http://google.com")

pageLoadStrategy選項

  • 正常:等待整個頁面加載,包括腳本和AJAX 請求。
  • eager:等待頁面交互,允許 Selenium 繼續執行,同時腳本和 AJAX 仍然非同步載入。
  • none:停用所有腳本載入和 AJAX 請求,允許 Selenium 立即繼續。

注意: ChromeDriver 實作的「eager」策略仍在開發中,因此它可能無法在所有瀏覽器上完全支援。

以上是如何透過調整頁面載入策略來加速 Selenium 測試?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn