如何在元素通过Selenium和Python在HTMLDOM中呈现之前与元素进行交互



是否可以在页面呈现之前请求URL并检查元素?我使用的是Python+Selenium。

您的问题的一个单词答案是

解释

通常,网页上的每个WebElement都有3(三(种不同的状态,如下所示:

  • presence:元素存在于页面的DOM上
  • visibility:元素存在于页面的DOM中并且可见
  • interactable(即clickable(:元素可见且已启用,因此您可以单击它

默认情况下,Selenium加载网页/url时,会遵循默认配置pageLoadStrategy,设置为normal。您可以选择不等待完整的页面加载。因此,为了避免等待完整的网页加载,您可以配置pageLoadStrategypageLoadStrategy支持3个不同的值,如下所示:

  1. normal(完成页面加载(
  2. eager(交互式(
  3. 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不等到整个页面加载,这是一个缓慢的脚本?"中找到详细的讨论?

相关内容

  • 没有找到相关文章

最新更新