调整 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 选项
注意: ChromeDriver 实现的“eager”策略仍在开发中,因此它可能无法在所有浏览器上得到完全支持。
以上是如何通过调整页面加载策略来加速 Selenium 测试?的详细内容。更多信息请关注PHP中文网其他相关文章!