selenium - python - 通过内部 HTML 查找元素
selenium - python - find element by inner HTML
我想使用 selenium 和 python
获取以下 Web 元素
<td class="letterbreak first">default</td>
而且我想根据里面的HTML文字default
找。我不能使用 class,因为还有其他元素使用相同的 class。我试过:
driver.find_element(By.XPATH,"//*[contains(@innerHTML,'default')]")
但是我得到了 NoSuchElementException
。
是否可以根据内HTML查找?如果可以,我该怎么做?
使用任一 xapth。
driver.find_element(By.XPATH,"//*[contains(text(),'default')]")
或
driver.find_element(By.XPATH,"//*[text()='default']")
为避免同步问题引入 WebDriverWait
() 并等待 visibility_of_element_located
() 和后续 xpath
WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//*[contains(text(),'default')]")))
您需要导入以下库。
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
我想使用 selenium 和 python
获取以下 Web 元素<td class="letterbreak first">default</td>
而且我想根据里面的HTML文字default
找。我不能使用 class,因为还有其他元素使用相同的 class。我试过:
driver.find_element(By.XPATH,"//*[contains(@innerHTML,'default')]")
但是我得到了 NoSuchElementException
。
是否可以根据内HTML查找?如果可以,我该怎么做?
使用任一 xapth。
driver.find_element(By.XPATH,"//*[contains(text(),'default')]")
或
driver.find_element(By.XPATH,"//*[text()='default']")
为避免同步问题引入 WebDriverWait
() 并等待 visibility_of_element_located
() 和后续 xpath
WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//*[contains(text(),'default')]")))
您需要导入以下库。
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC