gpt4 book ai didi

java - Appium findElement 连续使用两次不工作

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:57:46 24 4
gpt4 key购买 nike

我试图通过其完整路径 (wholeElement) 找到一个元素,并首先找到更高级别的元素,然后在该元素 (modularElement) 中找到较低级别的元素。这是我的代码:

    WebElement modularElement = appDriver.findElement(By.xpath("//UIATableCell[2]")).findElement(By.xpath("//UIAStaticText[4]"));
WebElement wholeElement = appDriver.findElement(By.xpath("//UIATableCell[2]/UIAStaticText[4]"));

Logger.LogMessage("modularElement attribute1: " + modularElement.getLocation(), Priority.High);
Logger.LogMessage("wholeElement attribute1: " + wholeElement.getLocation(), Priority.High);

我遇到的真正奇怪的问题是两个元素(模块化和整体)是不同的元素而不是相同的元素(由上面代码中打印的不同位置显示)。谁能解释为什么会这样?

谢谢。

更新:

我也尝试过使用 .//但仍然存在同样的问题:

    WebElement modularElement = appDriver.findElement(By.xpath("//UIATableCell[2]")).findElement(By.xpath(".//UIAStaticText[4]"));

最佳答案

它们不一样。

appDriver.findElement(By.xpath("//UIATableCell[2]")).findElement(By.xpath("//UIAStaticText[4]"));

在这里,你在任何地方搜索//UIAStaticText[4]at any level in the entire DOM tree :

When using xpath be aware that webdriver follows standard conventions: a search prefixed with "//" will search the entire document, not just the children of this current node. Use ".//" to limit your search to the children of this WebElement.

虽然 //UIATableCell[2]/UIAStaticText[4] 只会在 //UIATableCell[2]直接子级中搜索.

关于java - Appium findElement 连续使用两次不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30664167/

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