Selenium 请教关于 Xpath 的问题

dy20082250 · 2017年11月16日 · 最后由 黑水 回复于 2017年11月19日 · 2355 次阅读

为什么使用图中的 xpath 定位不到目标元素

只能使用 ‘.//*[@id='app']//p/span[contains(text(),'最近')]’

看上去关键字 ‘最近’ 和 ‘7‘以及 ‘天’ 被一个注释给断开了
导致不能正常使用?

对我来讲,解决元素的定位不难,但是我就是搞不清楚为什么图中的方法不行!
请高人指点一二。

共收到 14 条回复 时间 点赞

希望能有更多的朋友看到,大家相互交流一下。

我说个思路吧:
通过这个 ‘.//*[@id='app']//p/span[contains(text(),'最近')]’
能拿 到控件了都,那就用它拿 inner_html 或 text,去取它的元素,对比一下就知道了

bauul 回复

你的意思是看一下使用这种方式获得的 text 的具体内容是 “最后” 还是 “最后 7 天”

我已经试验过了,是 “最后 7 天”,使用的是 getText() 这个 API

bauul 回复

所以才会让我疑惑,不过我使用的是 FF 的插件,我现在去试一试直接使用 java 代码,看能不能正常获取

bauul 回复

试验过了,已经排除 FF 插件的因素,是真的获取不到

还有哪位朋友看到吗?

7楼 已删除

用过的程序里,提到 “包含”、“子字符串” 之类的概念时,都不会说axb包含ab

黑水 回复

我也怀疑 “最近” 和 “7” 被什么东西隔开了,可惜不知道怎么验证,获取 text 的话,获得的是完整的 “最近 7 天”,坐等高人给点建议

还有人吗?

自己刷!!!!

选中元素 之间复制 path 不行吗

还有人吗?

看来是没戏了

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册