我想通过文本获取一个元素,但它是数字?我猜?例如,
<a class="ui-state-default" href="#">11</a>
它包含一个数字,因此此代码不起作用
driver.find_element_by_xpath('//*[@text="11"]')
我怎样才能找到这个元素?
我想通过文本获取一个元素,但它是数字?我猜?例如,
<a class="ui-state-default" href="#">11</a>
它包含一个数字,因此此代码不起作用
driver.find_element_by_xpath('//*[@text="11"]')
我怎样才能找到这个元素?
您可以通过以下方式通过其文本内容访问 Web 元素(即本例中的 div 标签):
driver.find_elements_by_xpath("//*[contains(text(), '11')]")
要通过文本定位元素,您可以使用以下基于xpath的定位器策略之一:
使用xpath
和text()
:
element = driver.find_element_by_xpath("//*[text()='11']")
使用xpath
和contains()
:
element = driver.find_element_by_xpath("//*[contains(., '11')]")
理想情况下,要定位您需要诱导WebDriverWait的元素visibility_of_element_located()
,您可以使用以下任一Locator Strategies:
使用XPATH
:
element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//a[@class='ui-state-default' and text()='11']")))
使用XPATH
:
element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//a[@class='ui-state-default' and contains(., '11')]")))
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
driver.find_element_by_xpath('//*[contains(text,"11")]')
请使用上面的 xpath 来锻炼这个元素