selenium - 如何使用 Selenium 从父节点中提取文本,不包括子节点中的文本
问题描述
我正在尝试获取 div 的文本,而不获取子跨度的文本,这是我的 html:
<div class="Travel">
<!--ko text: marketName-->Résultat<!--/ko-->
<span class="label">Cities</span>
</div>
我想得到Résultat
,相反我得到Résultat Cities
这是我尝试过的:
//div[@class='Travel']//text()
解决方案
对于 Python 使用这个 -
直接 div 文本 -
driver.find_element_by_xpath('//div[@class="Travel"]').text()
通过 span 标签的 Div 文本 -
driver.find_element_by_xpath('//span[text()="Cities"])/parent::div').text()
对于 Java 使用这个 -
直接 div 文本 -
driver.findElements(By.xpath('//div[@class="Travel"]')).getText();
通过 span 标签的 Div 文本 -
driver.findElements(By.xpath('//span[text()="Cities"])/parent::div')).getText();
推荐阅读
- javascript - 反应功能的计时器未正确启动
- roles - Spatie 权限管理在获取具有特定角色的用户时抛出错误
- laravel - 422(不可处理的实体)laravel
- javascript - 如何从 mongodb 中没有字段名的嵌套数组中提取 $pull
- elasticsearch - 有没有办法降低 Elasticsearch 集群上的最大线程数?
- python - ValueError:传递值的形状为 (105, 140),索引暗示 (105, 141)
- laravel - 在heroku上部署laravel项目
- c# - 用代码向上或向下更改devexpress中选定的gridview行?
- amazon-web-services - 由于错误代码 NoSuchVersion 无法连接 AWS EC2 API
- javascript - 编辑整个 dropzone.js