无法单击元素

时间:2015-03-10 18:44:08

标签: javascript selenium webdriver appium

我正在使用appium并创建了一个自动化框架。使用Appium检查器检查了一个元素后,我现在尝试使用waitForElementByName单击该元素(在DOM中但不在设备屏幕的视野中)。在日志中,我看到找到元素并返回元素编号,但是.click()失败并且自动退出。

如果我手动滚动以获取视野中的元素,则.click()可以正常工作。

这个问题有解决办法吗?我已经尝试了wd.asserters.isDisplayed,但无效!

1 个答案:

答案 0 :(得分:1)

因此,您面临的问题实际上是使用仪器的人所面临的问题(我在您的评论中基于UIAButton假设这一点)。您的自动化是找到元素,因为就视图布局的xml树而言,它存在并且已被发现。然而,在布局中找到并在屏幕上可见是不一样的。

要解决此问题,您需要检查元素的isVisible属性。如果是isVisible == false,那么您应scrollToVisible(这是iOS UIA特定方法的名称)然后.click()尝试在屏幕上看不到的元素上使用.click()是不可能的。