首页 > 解决方案 > 如何在没有类的情况下在 python selenium 上获取跨度值

问题描述

我是 python 新手,刚开始学习,我尝试在其他网站上获得价值跨度,我试图在红色标记上获得这张图片的价值,但我仍然得到一个错误。

HTML 的快照:

快照

标签: pythonseleniumxpathcss-selectorswebdriverwait

解决方案


要打印文本4 hours 30 minutes,您可以使用以下任一定位器策略

  • 使用css_selectorget_attribute("innerHTML")

    print(driver.find_element(By.CSS_SELECTOR, "div.lab-preamble__details.subtitle-headline-1 > span").get_attribute("innerHTML"))
    
  • 使用xpath文本属性:

    print(driver.find_element(By.XPATH, "//div[@class='lab-preamble__details subtitle-headline-1']/span").text)
    

理想情况下,您需要诱导WebDriverWait并且visibility_of_element_located()您可以使用以下任一Locator Strategies

  • 使用CSS_SELECTOR文本属性:

    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div.lab-preamble__details.subtitle-headline-1 > span"))).text)
    
  • 使用XPATHget_attribute("innerHTML")

    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='lab-preamble__details subtitle-headline-1']/span"))).get_attribute("innerHTML"))
    
  • 注意:您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    

您可以在如何使用 Selenium - Python 检索 WebElement 的文本中找到相关讨论


参考

链接到有用的文档:


推荐阅读