当前位置: 首页 > 知识库问答 >
问题:

在Appium中找不到具有Xpath的元素

呼延高超
2023-03-14

我是新来的。如果问题重复,很抱歉,但我没有找到解决方法。

我有一个问题--我无法使用Xpath定位元素,但我使用ID定位器定位它没有问题。见附件截图。这一问题不仅针对这一要素,而且也针对所有要素。看来Xpath根本不起作用。

我正在使用Appium 7.3.0(试用过不同版本),UIAutomator2,方法是在模拟器上设置(“automationname”,“UIAutomator2”),Android 8.1功能。

    null
driver.findElement (By.xpath ("//*[@id='read_indicator']"));
driver.findElement (By.xpath ("//android.widget.ImageView[@id='read_indicator']"));
MobileElement message = driver.findElement (By.id ("body_bubble"));
message.findElement (By.xpath (".//*[@id='read_indicator']"));
message.findElement (By.xpath (".//android.widget.ImageView[@id='read_indicator']"));
driver.findElement (By.id ("read_indicator"));
message.findElement (By.id ("read_indicator"));
org.openqa.selenium.InvalidSelectorException: java.lang.IllegalArgumentException: Unable to compile '//*[contains(@id,'read_indicator')'

此外,我在需要的地方使用了implicitwaitthread.sleep,因此元素应该存在。

请告诉我为什么XPath会有这样的问题。

共有1个答案

乐华晖
2023-03-14

请尝试以下XPath:

//*[contains(@resource-id, 'read_indicator')]

或:

//*[contains(@content-desc, 'Message read')]
 类似资料:
  • 有人能告诉我为什么下面的代码不返回表情符号属性吗... 但是下面的代码将返回一个表情符号属性... 我知道我已经将滚动添加到第二个代码中,所以它会查看整个页面并返回我要查找的元素。但除此之外,它们或多或少是相同的。我可以每隔几秒钟运行第一个代码,它永远找不到表情符号元素。它会发现代码和optCriteria没有问题,并将它们作为tradeCriteria打印在一起,但即使它在那里,它也永远找不到表

  • 问题内容: 我有以下XPath: 当我在XPath Checker(Firefox扩展)中试用此XPath时,它一直都能完美运行。但是当我在Selenium中执行以下操作时: 它不断给我以下日志错误: 我为解决这个问题而疯狂。有人看到我的代码行有任何错误吗? 问题答案: 该查询字符串不应该像这样(根据javadoc api)吗?

  • 我一直试图单击中的accept按钮,但无法用定位此。我也查过类似的帖子,但没有用。 Selenium找不到iframe,python Selenium找不到iframe xpath 到目前为止我一直在尝试跟随。 给出了。 还尝试了: 错误 查找将显示一个空列表。但是,我能够找到具有和属性的两个父元素。 编辑:给出最外层的元素。但是,使用访问相同的元素会给出空列表。 所以,我想不起作用了?!我怎样才

  • 我通过调用python方法来编写自动化测试的机器人。在python中,我使用xpath在python中找到文本“分支TH1”。这是参考, 这是我的剧本, 这是我想测试的网络代码, 这是当我手动找到xpath时,你会看到我可以手动找到元素“//*[包含(文本(),'分支TH1')]/.../输入/...”作为1of1在红框高亮显示,但它不会在代码行高亮显示(不确定这是否是重点)。 在我运行it之后,

  • 硒检测: 目标元素是包含GUID的div: 这是与 DotNet core 2.2 Chrome webdriver 铬74 Ubuntu 18.04 但它肯定存在,并且具有预期的文本,例如,我可以使用不同的xpath表达式手动定位和检查它的文本内容: 原因是在react中创建了div,如下所示: 我认为这大致意味着div有三个textnodes作为子节点(这是有效的吗?)。结果看起来100%正常