python - 两个相同的 AutomationID 使用 xpath python 和 appium

标签 python testing xpath automation appium

在我们的移动应用程序中,有两个框具有相同的 AutomationId。 对于自动化测试,我需要通过 xpath 找到两个元素中的第一个。 我尝试了以下代码,但它没有用:

self.driver.find_element_by_xpath(
        "xpath=(//[@contentDescription='Cards'])[1]").click()

time.sleep(0.5)
self.assertEqual('Angle x:',
        self.driver.find_element_by_accessibility_id('MovementsTitle').text)
time.sleep(0.5)

谢谢!

最佳答案

您可以通过以下方式处理

    els = self.driver. find_elements_by_xpath('xpath=(//[@contentDescription='Cards'])')
    els[0].click()

描述:

首先,通过“find_elements”获取所有相同的元素,这将为您提供一个元素数组,然后您可以相应地执行操作

关于python - 两个相同的 AutomationID 使用 xpath python 和 appium,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58802781/

相关文章:

python - sklearn kNN(NearestNeighbors)是否进行批处理?

python - 自定义 Gtk.CellRenderer,在 True、None(显示为不一致)和 False 之间切换循环,python GTK 3

python - 使用 if/else 或字典的更好优化技术

python - 具有多个参数的页面未加载 CSS 文件

c# - VS2010 的测试列表编辑器在 VS2012 中的功能(更新)

java - 使用 Mockito 对 spring boot Controller 进行单元测试

php - 测试完全使用另一个对象方法的方法

xml - 忽略子节点的 XPath 表达式

php - 抓取网站并获取表格数据

PHP & XML : Can xpath include namespaces in the results, 不就随便搜索了吗?