【问题标题】:Python Selenium Webdriver get text inside "data-original-title"Python Selenium Webdriver 在“data-original-title”中获取文本
【发布时间】:2020-01-11 21:55:33
【问题描述】:

我有一个关于 selenium webdriver 的问题。

一切正常,但有一个元素我无法工作。

这是我检查元素时的 html 标记:

<img src="https://s3.amazonaws.com/xxx/website/icons/rulesets/imgname.png" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="White Animals">

CSS 选择器始终相同,但 "data-original-title" 始终不同。我想在 data-original-title 之后查找文本。本例中为“白色动物”。

try:
    element = WebDriverWait(driver, 1).until(expected_conditions.presence_of_element_located((By.CSS_SELECTOR, "CSSSELECTOR"), "White Animals"))
except:
    print("Not available")
else:
    print("found")

谁能告诉我我错过了什么?

img src 也在变化,所以解析 img src 可能更容易?

希望有人能帮忙。

【问题讨论】:

  • 你能提供你正在尝试的网页的 URL 吗?

标签: python selenium css-selectors webdriver webdriverwait


【解决方案1】:

您可以通过data-original-title 属性进行搜索

element = WebDriverWait(driver, 1).until(expected_conditions.presence_of_element_located((By.CSS_SELECTOR, '[data-original-title="White Animals"]')))

【讨论】:

    【解决方案2】:

    要打印 属性 data-original-title,您必须为所需的visibility_of_element_located() 诱导 WebDriverWait,您可以使用以下Locator Strategies

    • 使用CSS_SELECTOR

      print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "img[src*='com/xxx/website/icons/rulesets/imgname'][data-toggle='tooltip'][data-placement='bottom']"))).get_attribute("data-original-title"))
      
    • 使用XPATH

      print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//img[contains(@src, 'com/xxx/website/icons/rulesets/imgname') and @data-toggle='tooltip'][@data-placement='bottom']"))).get_attribute("data-original-title"))
      
    • 注意:您必须添加以下导入:

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

    您可以在How to retrieve the title attribute through Selenium using Python?找到相关讨论

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-26
      • 2019-05-20
      • 2013-03-07
      • 2014-03-31
      • 1970-01-01
      • 2016-06-13
      • 2017-04-09
      相关资源
      最近更新 更多