如何减少充满AJAX语句的页面的显式等待时间wait=WebDriverWait(driver,timeout=77)
给出了我所需要的已定位元素的精确结果,但所花费的时间是巨大的。当我将超时时间设置为低于70时,webdriver
找不到元素给出unable to locate elements
。
有些网页有一些JavaScripts,这使得这些网页加载时间很长
Selenium为页面加载策略提供了3种可能的设置。默认策略为normal
。通过此设置,Selenium将等待加载页面的complete
文档就绪状态。为了减少Selenium的加载时间,我们通常使用eager
策略设置。这将等待加载页面的interactive
文档就绪状态
这里有一些简单的工作示例,说明如何在Python:上使用Selenium将页面策略设置为eager
from selenium import webdriver
from selenium.webdriver import DesiredCapabilities
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
options = Options()
options.add_argument("start-maximized")
caps = DesiredCapabilities().CHROME
caps["pageLoadStrategy"] = "eager"
webdriver_service = Service('C:webdriverschromedriver.exe')
driver = webdriver.Chrome(service=webdriver_service, options=options, desired_capabilities=caps)