gpt4 book ai didi

python - 获取 Selenium 中的特定元素

转载 作者:行者123 更新时间:2023-12-05 02:49:15 25 4
gpt4 key购买 nike

我试图让元素在下图中显示为 N06D-X N07X R01A-C01 S01G-X01:HTML snapshot

现在,我以这种方式得到了类似 WebDriver 的东西:

who = driver.find_element_by_tag_name("span").find_elements_by_tag_name("p")

得到这样的输出:

[<selenium.webdriver.remote.webelement.WebElement (session="1c044455cf883fdedf6845bcd456bfab", element="0.23338884730774767-2")>]

我在 Mac Catalina 上工作,当我输入:who.text 它出于某种原因返回一个空列表。我遇到了与 Bs 非常相似的问题,但我用 .string 而不是 .text 解决了它们。这里的 .string 不适用于 WebDriver 元素。

问题是:如何用selenium得到N06D等元素?

最佳答案

看来你们已经很接近了。

[<selenium.webdriver.remote.webelement.WebElement (session="1c044455cf883fdedf6845bcd456bfab", element="0.23338884730774767-2")>]

代表您在元素中查找文本的位置。

提取文本,例如N06D-XN07X 等来自所有使用 Selenium<p> 标签,您必须为 visibility_of_all_elements_located() 引入 WebDriverWait,您可以使用以下任一 Locator Strategies:

  • 使用 CSS_SELECTORget_attribute("innerHTML") :

    print([my_elem.get_attribute("innerHTML") for my_elem in WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, "li.data-list__property#who-atc-codes span.data-list__property-value p")))])
  • 使用 XPATHtext 属性:

    print([my_elem.text for my_elem in WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.XPATH, "//li[@class='data-list__property' and @id='who-atc-codes']//span[@class='data-list__property-value']//p")))])
  • 注意:您必须添加以下导入:

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

结尾

有用文档的链接:

关于python - 获取 Selenium 中的特定元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64068370/

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