python - 如何从 DOM 获取没有标签的元素文本
问题描述
我在用着
self.driver.find_element("//table//tr//td//b[contains(.,'Description')]//following-sibling::text()[1]").text
也试过
self.driver.find_element("//table//tr//td//b[contains(.,'Description')]//following-sibling::text()[1]").get_attribute("innerHTML")
但没有任何效果。
解决方案
text()
在xoath
返回文本节点中,但是 Selenium 不支持它。文本是<td>
标签的一部分,你可以使用孩子<input>
来定位它
self.driver.find_element_by_xpath('//input[@name="libdet_edit"]/..').text
如果您不想要,"description"
您可以找到<b>
标签并删除其文本
td = self.driver.find_element_by_xpath('//input[@name="libdet_edit"]/..')
all_text = td.text
b_text = td.find_element_by_xpath(".//b").text
text = all_text.replace(b_text, '')
推荐阅读
- reactjs - Webpack 预设时缺少类属性转换:“env”
- mongodb - 如何有选择地使用 GridFS?
- c# - C# 文档添加有关属性的信息
- python - 如何在keras的3D语义分割中在一卷的不同切片上放置不同的权重?
- java - groovy grails 无法将动态字符串传递给注释
- laravel - 如何在 Maatwebsite 中获取 excel 标题和标题?
- javascript - 每次更改的 React-Mutating 表单对象。无论如何我们可以用更好的方式做到这一点吗
- neo4j - Neo4j.Driver.V1.ServiceUnavailableException: '重试 5 次失败
- wordpress - 通过标签管理器设置归因,不确定语法是否正确
- c# - 如何添加列中的所有值并在表格页脚中显示添加的值