gpt4 book ai didi

java - Selenium WebDriver 中使用 XPath 从子节点遍历到祖先节点

转载 作者:太空宇宙 更新时间:2023-11-04 09:05:11 26 4
gpt4 key购买 nike

我尝试使用 xpath 从子节点遍历到祖先节点,但它不起作用。

WebElement menuItemText = driver.findElement(By.xpath("//span[contains( text(), '" + itemTitle + "')]"));
menuItemText = menuItemText.findElement(By.xpath(".//parent::*[@attribute='onclick']"));
menuItemText.click();

节点是:

<div onclick="something()">
<div onclick="myFunction()">
<div>
<div>
<span>Text!</span>
</div>
</div>
</div>
</div>

但是,函数名称非常复杂,每个节点都有奇怪的唯一 ID。并不是说它太重要,而是我想将 DOM 从子节点向上遍历到包含 onclick 属性的父/祖先节点。我想在遍历 DOM 时获得第一个 onclick 。所以, onclick=myFunction() 就是我想要得到的。

这可能吗?我尝试做一个 while() 循环,它工作了一次,但不再工作了。

最佳答案

您可以使用祖先关键字直接从子节点访问祖先元素,如下所示:

//span[contains(text(),\"Text\")]/ancestor::div[@onclick]

关于java - Selenium WebDriver 中使用 XPath 从子节点遍历到祖先节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60292680/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com