c# - 如何选择包含更深层次的特定文本的链接?Selenium - 网络驱动程序
问题描述
我有一个列表,我需要使用 Selenium Webdriver 根据其文本从列表中选择一个项目。但是文本位于距离链接更深的几个级别。找到“目标文本”后如何单击该链接?
我可以使用下面的代码找到“目标文本”。
var dir = driver.FindElement(By.XPath(String.Format("//*[contains(text(), '{0}')]", path.Directory)));
但我想我需要点击一个链接。我怎样才能从“目标文本”中标记“a”?
解决方案
var dir = driver.FindElement(By.XPath(String.Format("//*[contains(text(), '{0}')]/ancestor::a[1]", path.Directory)));
推荐阅读
- javascript - ES6 使用命名空间动态导入?
- jquery - 将 jQuery 函数分别应用于出现的元素
- python - 已经安装好,但还是不能导入
- sql - sqlalchemy 按列中的唯一值分组
- spring - Spring Boot Kafka 消息传递。如何使用 SpEL 管理处理程序访问
- docker - 如何重新定义父母dockerfile的标签?
- sql - SQL 篮子分析分组查询
- angular - Angular:测试返回 observables 的守卫
- r - R Shiny 确保 pdf 缩放到 iframe 大小
- vue.js - 记录 rootState 和组件的挂载钩子中发生的所有突变?