Selenium 等待缓慢的脚本:策略和解决方案
Selenium 的默认行为是等待页面完全加载,这可能会导致延迟当遇到缓慢的脚本时。当处理不断尝试加载无效或无响应脚本的页面时,此问题变得更加明显。为了克服这个挑战,我们可以修改 Selenium 的页面加载策略。
配置 pageLoadStrategy
Selenium 为 pageLoadStrategy 提供了三个选项:
通过配置 pageLoadStrategy,我们可以控制多长时间Selenium 等待页面元素变得可用。
示例:为 Firefox 配置 pageLoadStrategy
from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities caps = DesiredCapabilities().FIREFOX caps["pageLoadStrategy"] = "eager" # Interactive driver = webdriver.Firefox(desired_capabilities=caps, executable_path=r'C:\path\to\geckodriver.exe') driver.get("http://google.com")
示例:为 Firefox 配置 pageLoadStrategy Chrome
from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities caps = DesiredCapabilities().CHROME caps["pageLoadStrategy"] = "none" # Do not wait driver = webdriver.Chrome(desired_capabilities=caps, executable_path=r'C:\path\to\chromedriver.exe') driver.get("http://google.com")
注意:“eager”pageLoadStrategy 值目前正在为 ChromeDriver 开发。请参阅文档了解其状态更新。
以上是当缓慢的脚本阻碍您时如何加速 Selenium 测试?的详细内容。更多信息请关注PHP中文网其他相关文章!