如何使用Selenium和python从span类中获取内容属性的值

问题描述 投票:0回答:1

我的用法将是错误的,所以请原谅错误的名词。我在span类中寻找“内容”的文本:

<span class="rating-label" content="5">

我正在寻找“ 5”

我已经尝试过

driver.find_element_by_class_name('rating-label').text

但是我在该文本的任何地方都没有收到“ 5”。

我也尝试过

driver.find_elements_by_class_name('rating-label').get_attribute("outerHTML")
driver.find_elements_by_class_name('rating-label').get_attribute("innerHTML")

我已经检查了其他有关此问题,但如果我错过了,请随时向我展示。

谢谢

python-3.x selenium xpath css-selectors webdriverwait
1个回答
0
投票

content属性的值为5。因此,要提取值,您必须为visibility_of_element_located()引入WebDriverWait,并且可以使用以下Locator Strategies中的任何一个:

  • 使用CSS_SELECTOR

    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "span.rating-label"))).get_attribute("content"))
    
  • 使用XPATH

    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//span[@class='rating-label']"))).get_attribute("content"))
    
  • :您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    
© www.soinside.com 2019 - 2024. All rights reserved.