Appium无法使用id locator(resource-id)识别元素,而是使用Accessibility Id定位器识别相同的元素。
答案 0 :(得分:0)
你的Appium版本是什么?你能用Appium Inspector打开它来检查UI Automator Viewer是否有任何不同?
无论如何......试试这个
#Can't see at your screenshot the whole resource-id so I put what I see.
driver.find_element_by_xpath("//android.view.View[@resource-id='rptRole__ctl0_rptCommunicationlt...']")
#You could also try these two options:
driver.find_element_by_xpath("//android.view.View[@content-desc='1_gr_selected_stores_flex_update.xls']")
driver.find_element_by_xpath("//android.view.View[@text='1_gr_selected_stores_flex_update.xls']")
如果这些都不起作用,则必须提供更多信息
答案 1 :(得分:0)
如果你有一些类似$ ID的话,Appium不会支持。你能发布完整的身份证吗? 请使用findElementById方法尝试如下:
driver.findElementById("alertTitle");
如果不工作,请使用类名来查找元素并使用索引来定位元素。
List<WebElement> allElements=driver.findElementsByClassName("android.view.View");
使用上面列表中的索引获取元素。
WebElement yourElement= allElements.get(Required_Index);
答案 2 :(得分:0)
下面的代码可以使用。
driver.findElementsByXPath(&#34; // android.view.View [含有(@资源-ID,&#39; rptRole&#39)]&#34)。单击();