gpt4 book ai didi

python - Selenium 不会返回文本

转载 作者:行者123 更新时间:2023-12-05 04:58:23 27 4
gpt4 key购买 nike

所以我有引用这个 html 类的代码:

<div class="text-right _2jRRJJvarKXJGP9oRP-Bv0 pbBzNArud8-t5yrNZi8Wg rankings-list-volume">2775.60</div> 
Vol = driver.find_element_by_xpath('/html/body/div[1]/div[1]/div[2]/div[1]/div/div[2]/div/main/div/div/div[2]/a[1]/div[8]').text
print(Vol)

如果我在没有 .text 的情况下运行它,它只返回元素名称等,所以我知道它正在查找元素,但它不会返回文本。 HTML 中的 2775.60 值是它应该返回的值,但它只是不打印任何内容。

最佳答案

要打印文本 2769.94,您可以使用以下任一项 Locator Strategies :

  • 使用 css_selectorget_attribute():

    print(driver.find_element_by_css_selector("div.rankings-list-volume").get_attribute("innerHTML"))
  • 使用 xpathtext 属性:

    print(driver.find_element_by_xpath("//div[contains(@class, 'rankings-list-volume')]").text)

理想情况下,要打印文本2769.94,您必须诱导WebDriverWait对于 visibility_of_element_located(),您可以使用以下任一项 Locator Strategies :

  • 使用 CSS_SELECTORget_attribute():

    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div.rankings-list-volume"))).get_attribute("innerHTML"))
  • 使用 XPATHtext 属性:

    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[contains(@class, 'rankings-list-volume')]"))).text)
  • 注意:您必须添加以下导入:

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

You can find a relevant discussion in How to retrieve the text of a WebElement using Selenium - Python


结尾

有用文档的链接:

关于python - Selenium 不会返回文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64021220/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com