UI Automator Viewer 中识别到元素的的 content-desc,
怎么通过 content-desc 的值来定位这个页面元素呢?
我试过用 findElementByName,但是无法找到这个 element!
可以试试用 UIAutomator 来查找 description
driver.find_element_by_android_uiautomator('new UiSelector().description("业务说明")')
用 name 查询方法试试,我是 name 查询的。。
driver.findElementByName("业务说明");
driver.findElementByAndroidUIAutomator("new UiSelector().description(\"业务说明\")");
这两种发放都试了,都是报 org.openqa.selenium.NoSuchElementException: An element could not be located on the page using the given search parameters.
为什么没人看我的帖子呢。。 http://testerhome.com/topics/1034
我也遇到了 webview 上定位元素的问题,没有 id 没有 name,也只有 content-desc 能区分。而且因为是在 webview,chromedriver 都不支持 tap 之类,但是 chromedriver2.10 的 release note 上居然写着 Resolved issue 698: implement touch flick command on Android [Pri-1],头疼到不行。
@lihuazhang 我试了下用 driver.findElementByAccessibilityId(string),appium 报错 “Unsupported locator strategy: accessibility id\n (Session info: webview=)\n”,不知道是不是因为 webview 的缘故,或者是我代码的问题
@lihuazhang 因为我测的 webview 上的这个元素没有 id,没有 text,index 也识别不了,只有 content-desc 能区分,我想着或者用坐标来点击,但是 chromedriver 也不支持 touch 之类的操作
find_element_by_accessibility_id
#4 楼 @lihuazhang 这个是什么意思呢?是意思 browser=webdriver.Firefox() 这样吗?就像 seleniun 那样? 还是? appium 怎么搭配 webdriver 中的 api 呢?
@ceiba3933 ,请问这个最后楼主是怎么解决的?是用的 driver.find_element_by_accessibility_id("业务说明")?对吗
@aster30 如果用 xpath 的话 要怎么写呢??
这个问题解决了没?
小弟新手,我使用的代码如下:
driver.findElement(By.xPath("//android.view.View[@content-desc='业务说明']");
这里要注意的是有时候 业务说明 这几个字后面会有空格, 不知道是不是开发人员无意弄得.