我的说法将是错误的,因此请原谅错误的名词。我在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")


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

谢谢

最佳答案

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

关于python - 如何从span类获取content属性的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59346254/

10-13 07:01