java - 无法点击谷歌搜索页面中的“文本”链接
问题描述
我正在尝试单击谷歌搜索页面上的新闻链接,HTML 结构如下所示
我尝试遵循 xpaths 但没有奏效
//a/child::span[1][contains(.,'News')]
以下 xpath 导致无效选择器:xpath 表达式“//a/child::span/following-sibling::text()[contains(.,'News')]”的结果是:[object Text]。它应该是一个元素。
//a/child::span/following-sibling::text()[contains(.,'News')]
谢谢
解决方案
//a[contains(.,'News')]
可能会返回此链接,但可能会导致您需要处理并从中选择正确元素的多个元素的列表。
//div[@role='navigation']//a[contains(.,'News')]
您可以使用 Selenium 的SearchContext来指定一个容器元素,或者使用 xpath 单线解决它,例如:值“导航”)。
推荐阅读
- c# - 在 Owin 中间件中覆盖响应正文
- javascript - 替换两个数组之间不同的项目
- asp.net-core - 如何将社交登录与现有的 .Net 核心 Web API 后端和 Angular SPA 前端与有效的 OpenIddict 用户/密码和不记名令牌集成
- batch-file - 批处理脚本输出到文本文件部分重复
- javascript - 当组件使用 JavaScript 而不是 TypeScript [Angular] 时,component.html 404 Not Found
- apache-spark - AWS Glue:java.lang.UnsupportedOperationException:CSV 数据源不支持二进制数据类型
- c# - 用于机器人框架版本 4 C# 的 Adaptive Cards nuget 包
- android - 当设备中安装了多个浏览器并且用户将不同的浏览器设置为默认浏览器而不是 chrome 浏览器时,如何加载 chrome 自定义选项卡?
- postgresql - Postgres 基于主机的身份验证如何工作?
- sql - SQL查询中当前季度之前的最大日期