我正在尝试创建一些脚本,这些脚本需要通过大量带有随机ID的动态HTML。它们需要获得元素的父级--但我不知道如何在WebdriverJS中实现这一点。
如果我通过控制台访问我想要的元素,我可以执行以下操作来获得它;
document.querySelector('span[email="noreply@example.com"]').parentNode.parentNode在WDJS中有办法做到这一点吗?我已经看过了,也看不见任何明显的东西--特别是我对父母有异议的东西。我看到一个可能的解决方案可能是xPath,但是我不确定以前从未使用过它的语法。
提前感谢!
发布于 2014-01-24 19:01:26
我不知道WebDriverJS的语法。但是XPath如下所示,您需要一种方法将它安装在某个地方。
这是基于您的CSS选择器,所以如果需要,请显示HTML。
.//span[@email='noreply@example.com']/../..例如,如果您有这样的HTML
<div>
<div>
<span email="noreply@example.com">Contact me</span>
</div>
</div>您可以避免使用..进行升级。
.//div[./div/span[@email='noreply@example.com']]如果您有更多的级别需要查找,另一个方便的方法是使用来自ancestor的XPath轴。此外,正如@sircapsalot所提到的,CSS选择器规范不支持父选择,因此XPath是唯一的方法,除非您注入JS。
https://stackoverflow.com/questions/21340230
复制相似问题