如何使用 Selenium 检查 text_to_be_present_in_xth_element
How to check for text_to_be_present_in_xth_element with Selenium
我想让 Selenium 等到特定文本出现在元素中。我知道元素的 XPath:
driver.find_elements(By.XPATH, ".//*[@class='sr-match-default__darts-leg']")
以上returns 5个WebElements的列表。我的重点是第四个元素。如何向 XPath 地址添加索引?目标是将所需的 XPath 引用插入到以下代码中:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
wait = WebDriverWait(driver, 300)
wait.until(EC.text_to_be_present_in_element((By.XPATH, ".//*[@class='sr-match-default__darts-leg']"), "Leg 1"))
请指教。谢谢
您可以将 xpath 包装在 ()
中并像这样放置 index 4
:
(.//*[@class='sr-match-default__darts-leg'])[4]
请注意,由于我们已经给出了索引,因此理想情况下它应该 return 一个单独的网络元素。
建议使用
driver.find_element(By.XPATH, "(.//*[@class='sr-match-default__darts-leg'])[4]")
不是 elements
WebDriverWait(driver, 30).until(EC.text_to_be_present_in_element((By.XPATH, "(.//*[@class='sr-match-default__darts-leg'])[4]", "Leg 1"))
我想让 Selenium 等到特定文本出现在元素中。我知道元素的 XPath:
driver.find_elements(By.XPATH, ".//*[@class='sr-match-default__darts-leg']")
以上returns 5个WebElements的列表。我的重点是第四个元素。如何向 XPath 地址添加索引?目标是将所需的 XPath 引用插入到以下代码中:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
wait = WebDriverWait(driver, 300)
wait.until(EC.text_to_be_present_in_element((By.XPATH, ".//*[@class='sr-match-default__darts-leg']"), "Leg 1"))
请指教。谢谢
您可以将 xpath 包装在 ()
中并像这样放置 index 4
:
(.//*[@class='sr-match-default__darts-leg'])[4]
请注意,由于我们已经给出了索引,因此理想情况下它应该 return 一个单独的网络元素。
建议使用
driver.find_element(By.XPATH, "(.//*[@class='sr-match-default__darts-leg'])[4]")
不是elements
WebDriverWait(driver, 30).until(EC.text_to_be_present_in_element((By.XPATH, "(.//*[@class='sr-match-default__darts-leg'])[4]", "Leg 1"))