首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用WebdriverJS选择父元素

用WebdriverJS选择父元素
EN

Stack Overflow用户
提问于 2014-01-24 18:52:48
回答 1查看 599关注 0票数 0

我正在尝试创建一些脚本,这些脚本需要通过大量带有随机ID的动态HTML。它们需要获得元素的父级--但我不知道如何在WebdriverJS中实现这一点。

如果我通过控制台访问我想要的元素,我可以执行以下操作来获得它;

代码语言:javascript
复制
document.querySelector('span[email="noreply@example.com"]').parentNode.parentNode

在WDJS中有办法做到这一点吗?我已经看过了,也看不见任何明显的东西--特别是我对父母有异议的东西。我看到一个可能的解决方案可能是xPath,但是我不确定以前从未使用过它的语法。

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-24 19:01:26

我不知道WebDriverJS的语法。但是XPath如下所示,您需要一种方法将它安装在某个地方。

这是基于您的CSS选择器,所以如果需要,请显示HTML。

代码语言:javascript
复制
.//span[@email='noreply@example.com']/../..

例如,如果您有这样的HTML

代码语言:javascript
复制
<div>
<div>
<span email="noreply@example.com">Contact me</span>
</div>
</div>

您可以避免使用..进行升级。

代码语言:javascript
复制
.//div[./div/span[@email='noreply@example.com']]

如果您有更多的级别需要查找,另一个方便的方法是使用来自ancestorXPath轴。此外,正如@sircapsalot所提到的,CSS选择器规范不支持父选择,因此XPath是唯一的方法,除非您注入JS。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21340230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档