python-3.x - selenium - python - 通过内部 HTML 查找元素
问题描述
我想使用 selenium 和 python 获取以下 Web 元素
<td class="letterbreak first">default</td>
我想根据内部 HTML 文本找到它default
。我不能使用这个类,因为有其他元素使用同一个类。我努力了:
driver.find_element(By.XPATH,"//*[contains(@innerHTML,'default')]")
但我得到一个NoSuchElementException
.
是否可以根据innerHTML找到?如果是这样,我该怎么做?
解决方案
使用任一 xapth。
driver.find_element(By.XPATH,"//*[contains(text(),'default')]")
或者
driver.find_element(By.XPATH,"//*[text()='default']")
为了避免同步问题,induced WebDriverWait
() and wait for visibility_of_element_located
() and followingxpath
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
推荐阅读
- c# - 在 Devexpress Gridcontrol 绑定中使用 nameof 指定 FieldName
- php - 文件导出到空白 excel - PHP
- javascript - 将引导程序下拉默认文本替换为所选选项的文本
- jquery - 将折叠按钮添加到列表
- api - OVER_QUERY_LIMIT 地理编码
- css - 如何在 Header 下放置不同风格的阴影?
- ios - 自定义 segue 到导航控制器层次结构中的特定子视图
- windows - 组装 如何将 ntoskrnl 绑定到我的汇编语言对象?
- php - Laravel 5 表单模型绑定单选按钮
- assembly - 有人能告诉我我的 MIP 翻译成英文好不好?