![](/img/trans.png)
[英]How do I get the text inside of an element using Python Selenium?
[英]How do I get to this element in Python Selenium
我正在尝试 select 这个元素与 Python Selenium,但不知道如何,因为它不包含和 id/类名/等。
这是 HTML:
<img src="/resource/1599091587000/nforce__SLDS0102/assets/icons/utility/chevrondown_60.png">
我试过了:
chrome_browser.find_element_by_xpath("//img[contains(text(),'/resource/1599091587000/nforce__SLDS0102/assets/icons/utility/chevrondown_60.png')]")
由于text()
搜索 HTML 标记的内部文本,因此您不应使用它来搜索此特定元素,因为 URL 位于src
属性中。
您可以使用src
属性搜索它
//img[@src='/resource/1599091587000/nforce__SLDS0102/assets/icons/utility/chevrondown_60.png')]
或者只是其中的一部分使用
//img[contains(@src,'chevrondown_60')]
该元素似乎是一个动态元素。 因此,要定位元素,您可以使用以下任一Locator Strategies :
使用css_selector
:
element = chrome_browser.find_element_by_css_selector("img[src^='/resource'][src$='assets/icons/utility/chevrondown_60.png']")
使用xpath
:
element = chrome_browser.find_element_by_xpath("//img[starts-with(@src, '/resource') and contains(@src, 'assets/icons/utility/chevrondown_60.png')]")
理想情况下,要定位您需要为visibility_of_element_located()
诱导WebDriverWait的元素,您可以使用以下任一Locator Strategies :
使用CSS_SELECTOR
:
element = WebDriverWait(chrome_browser, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "img[src^='/resource'][src$='assets/icons/utility/chevrondown_60.png']")))
使用XPATH
:
element = WebDriverWait(chrome_browser, 20).until(EC.visibility_of_element_located((By.XPATH, "//img[starts-with(@src, '/resource') and contains(@src, 'assets/icons/utility/chevrondown_60.png')]")))
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.