是否可以在页面呈现之前请求URL并检查元素?我使用的是Python+Selenium。
您的问题的一个单词答案是是。
解释
通常,网页上的每个WebElement都有3(三(种不同的状态,如下所示:
-
presence
:元素存在于页面的DOM上 -
visibility
:元素存在于页面的DOM中并且可见 -
interactable
(即clickable
(:元素可见且已启用,因此您可以单击它
默认情况下,Selenium加载网页/url时,会遵循默认配置pageLoadStrategy
,设置为normal
。您可以选择不等待完整的页面加载。因此,为了避免等待完整的网页加载,您可以配置pageLoadStrategy
。pageLoadStrategy
支持3个不同的值,如下所示:
-
normal
(完成页面加载( -
eager
(交互式( -
none
以下是配置pageLoadStrategy
:的示例代码块
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
caps = DesiredCapabilities().FIREFOX.copy()
caps["pageLoadStrategy"] = "none"
driver = webdriver.Firefox(desired_capabilities=caps, executable_path=r'C:pathtogeckodriver.exe')
driver.get("http://google.com")
您可以在"如何使Selenium不等到整个页面加载,这是一个缓慢的脚本?"中找到详细的讨论?