在各种论坛上彻底搜索到这些内容之后,我仍然没有得到答案。 以下是完整的详细信息
我通过classname识别元素,该元素指向多个(4)按钮。我在迭代按钮然后搜索文本,当有匹配时我点击它。
这适用于selenium webdriver和浏览器,如firefox,chrome
现在我用appium做同样的事情。 在通过classname标识的4个按钮中,脚本成功点击2个按钮,但是对于两个按钮单击发生(我可以看到按钮被点击)但是没有加载应该加载的新页面。未发生单击的按钮位于页脚类中,其他两个位于div类中。
我已经尝试过的事情
我目前正尝试使用触摸选项,点击并切换到原生视图,但尚未获得任何成功。
如果遇到任何问题,我们将不胜感激。
我想避免使用xPath,因为这可能会在我正在处理的页面中发生变化,我想强调脚本能够找到该按钮,但无法正确点击它。
答案 0 :(得分:0)
您可以使用类名和索引过滤定位器。像这样:
driver.findElementsByXPath("//*[@class='android.widget.ImageView' and @index='0']");
此xpath也不会在其他设备上获得更改。
答案 1 :(得分:0)
你能看到:Unable to find an element in Browser of the Android emulator using Appium and C#吗? 如果在浏览器中测试Web应用程序,元素应该像网页上的常用元素一样定位(而不是像android.widget.EditText和android.widget.Button这样的类。)
答案 2 :(得分:0)
将appium java客户端升级到1.5.0(从1.3.0开始)解决了这个问题。需要检查原因!