Appium - 机器人框架 - 选择下拉

Posted

技术标签:

【中文标题】Appium - 机器人框架 - 选择下拉【英文标题】:Appium - Robot Framework - select drop down 【发布时间】:2014-09-15 15:40:06 【问题描述】:

我正在通过机器人框架使用 Appium。我能够使用点击元素并执行操作。但是当从下拉列表中选择一个值时,appium 没有内置命令。

我的例子:我正在尝试使用 redbus 移动应用程序。我有一个日历,我需要在其中选择某个日期,比如 21 日。

我能够找到元素 21 的资源 id,但它对于日历中的所有数字都是相同的。

这里的“资源 ID”是相同的,但“文本”会根据数字而变化。我的“资源 ID”是in.redbus.android:id/gridCellin.redbus.android:id/gridCell

该资源 ID 的点击元素未点击 21,因为所有数字的资源 ID 相同。

请帮助我。我卡在这里了。

【问题讨论】:

【参考方案1】:

您可以通过多种方式引用元素,包括类名、id 和文本。您是否尝试过通过文本找到您需要的元素?如果这不起作用,那么您可以使用类名和实例,尽管这并不准确。

ID:find_element_by_id(your_date_id)

:find_element_by_class_name(your_class_name,instance_number)

文本:find_element_by_name(21)

如果您没有使用过 UIAutomatorViewer,那么我建议您使用它来查找可用于元素的不同标识符。

【讨论】:

在这些数字之间变化的唯一定位器是文本。我试着给点击元素文本=21。我得到的错误是不支持带有前缀文本的“元素定位器”。我只使用 UIAutomatorviewer。【参考方案2】:

我终于找到了解决问题的方法。

我正在使用机器人框架。所以,我使用了 xpath=//*[@text=21]

使用 xpath 几乎每次都能正常工作,除非任何节点中有任何特殊字符。

我也在尝试为这种特殊字符情况找到解决方案。找到答案后我会发布。

【讨论】:

以上是关于Appium - 机器人框架 - 选择下拉的主要内容,如果未能解决你的问题,请参考以下文章

带有 appium 的机器人框架(无法识别元素)

机器人框架 - Appium 库:启动应用程序时出现安全异常

带有 Appium 库的机器人框架:根据当前页面采取行动

苹果 |机器人框架 |无法使用自定义定位器策略运行关键字来查找元素

为机器人自动化中的下拉列表选择元素

带有 json 和 python 的依赖下拉列表