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/

相关文章:

xml - 使用命名空间不可知查询时,VB Script XML selectNodes 会丢失上下文

python - 在 Mac 上以编程方式连接到 Quickbooks Online

python - 如何访问 python LogRecord 的 asctime?

python - 启动 Python Web 服务器并将控制权返回给应用程序

language-agnostic - 如何测试应用程序的正确编码(例如 UTF-8)

java - 在 Elastic Search 中搜索商店时出现 IndexMissingException

java - JDK 6 是否支持 XPath 2.0 的所有特性?

python - 使 numpy.sum() 返回矩阵总和而不是单个数字

database-design - 哪些工具可用于 TDDD(测试驱动数据库开发)?

xslt - 使用xslt获取X位置的节点值