python - 在 Selenium Python 中查找文本节点#text
问题描述
我有以下 HTML
<div class="detailSection">
<span>Authorized Person(s) Detail</span>
<span>
<b>Name & Address</b>
</span>
<br>
<br>
<span>Title MGR</span>
<br>
<br>
"
EYN, KHASHY "
<span>
<div>
100 Wall Street<br>
NEW YORK, NY 10005<br>
</div>
</span>
<br>
</div>
我想提取 HTML 的 EYN、KHASHY 部分。我的 Chrome 开发人员工具告诉我这是一个 #text 节点(?),我认为这就是为什么它不能与我当前的代码一起使用。虽然我完全不熟悉#text 节点,但它似乎与 HTML 不同。
目前,我的代码选择<div>
#text 的父元素的所有子元素。如下:
persons = driver.find_element_by_xpath('//*[@id="maincontent"]/div[2]/div[6]')
all_children = persons.find_elements_by_xpath(".//*")
for child in all_children:
li_person.append(child.text)
print(child.text)
这给了我除 EYN、KHASHY 之外的所有文本。可能是因为当我将鼠标悬停在 Chrome 开发工具上时,所有其他文本都是某个元素的一部分。#text "EYN, KHASHY" 返回空白。
如何选择此节点并提取此信息?
解决方案
如果“persons”是父<div>
块,那么你想要的是persons.text
. 该文本不在子标签中,它是该标签的文本
推荐阅读
- sqlalchemy - FastAPI / SQLAlchemy 创建多个用户
- filter - 获取每个客户的第一个购买日期
- javascript - 如何列出 Firestore 文档的所有子集合?
- r - 计算数据框中两列之间的偏移量,但忽略其中一列中的一些异常值
- applescript - AppleScript - 如何获取文件夹的第一个子路径(仅当第一个子是文件夹而不是文件时)?
- react-native - 如何更改 MaterialTopTabNavigator 中选项卡的高度?
- angular-material - NG8001:'mat-table' 不是已知元素:
- javascript - 单击时如何更改div宽度?
- sql - SQL 更新语句从前一行获取一列
- php - 根据使用 ajax 的按钮传递的值更新 div