如何使用 appium 在移动应用中查找 xpath
Posted
技术标签:
【中文标题】如何使用 appium 在移动应用中查找 xpath【英文标题】:How to find xpath in mobile app using appium 【发布时间】:2014-07-11 01:23:17 【问题描述】:我尝试使用按 id 查找元素,但它没有插入所需的数据。
然后我使用了通过 xpath //android.widget.ScrollView[0]/android.widget.RelativeLayout[0]/android.widget.TextView[0]/ndroid.widget.TextView[1]/android.widget.EditText[2]")).sendKeys("Check@localmail.com");
查找元素
但还是不行。
【问题讨论】:
你想做什么? 我想插入电子邮件 ID。它也没有显示“id”。所以我尝试使用上面的xpath,但它仍然没有插入。 我添加了图片...如果它让我的问题清楚请给我解决方案请查看它 【参考方案1】:请使用这个 Xpath ,希望它能解决你的问题:
By.xpath("//android.widget.EditText[@text='Email ID']")
【讨论】:
你能不能帮我理解一下这个***.com/questions/39484982/…【参考方案2】:一个更好的方法如下 -
driver.findElement(By.xpath("//EditText[contains(@text,'Edit ID')]"));
【讨论】:
【参考方案3】:你可以用另一种方式来做,你知道有 5 个文本字段,因此编写如下代码。
driver.findelements(By.tagname("textfield")).get(0).sendkeys("abc@gmail.com"));
这意味着您正在尝试在第一个文本字段“get(0)”中传递 abc@gmail.com 值。
【讨论】:
我想您需要将您的 appium 版本更新到最新版本或尝试使用 uiautomator 来检查元素。 我试过了,但它给了我无效的定位器。此外,我有 1.0.0.3 (orion) 版本,uiautomator 显示“id”,但是当我在代码中使用它时,system(appium) 不会插入电子邮件 id。【参考方案4】:使用 contains 查找移动应用的 xpath
driver.findElement(By.xpath("//android.widget.TextView[contains(@text, 'Call')]")).isDisplayed())
【讨论】:
【参考方案5】:通过使用可用的属性 - 索引和类名,您可以尝试使用下面的 xpath
//android.widget.EditText[@index='2']
【讨论】:
以上是关于如何使用 appium 在移动应用中查找 xpath的主要内容,如果未能解决你的问题,请参考以下文章
在移动原生应用程序测试中:使用 Appium 时如何模拟后端?
Python爬虫编程思想(129):使用Appium抓取移动数据--查找Android App的Package和入口Activity
Python爬虫编程思想(129):使用Appium抓取移动数据--查找Android App的Package和入口Activity
Python爬虫编程思想(130):使用Appium抓取移动数据--查找Android App的Package和入口Activity