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

Posted

技术标签:

【中文标题】为机器人自动化中的下拉列表选择元素【英文标题】:Select Element for dropdown list in robot automation 【发布时间】:2018-08-22 11:15:12 【问题描述】:

我是 Robot Framework 的新手,我的问题需要您的帮助。当我尝试从下拉列表中选择一个元素时,该列表的默认类是“select-dropdown”,但是当单击它时,该类将变为“select-dropdown active”。所以即使我使用过,我也无法选择正确的元素 单击元素 xpath 或 css

所以请帮我处理这个案子。

默认类

点击后的类变化

【问题讨论】:

【参考方案1】:

请记住,这不是班级变更,而是班级增加。原来的类名仍然适用。使用它取决于您的个人喜好,但使用 xpath 可以这样制作:

//input[contains(@class, "select-dropdown")] 

【讨论】:

对于 css 定位器,它会更容易——input.select-dropdown 将匹配两个元素,因为class 中的空格分隔不同的类【参考方案2】:

我的方法只是使用从根 html 到子节点/元素的绝对 xpath 表达式。我看到您的 id 也是动态的,您应该通知您的网络开发人员为每个元素制作静态 id。

使用绝对 xpath 表达式的解决方案。因此,您必须首先获取 i) 要单击的元素和 ii) 选择列表的绝对 xpath。在您的 Web 浏览器上安装一些 xpath 查找插件/扩展以使其轻松。然后您可以执行以下操作。

# The xpath link used below is just an example only..

$xpath_click=  Set Variable   /html[1]/body[1]/div[7]/div[2]/div[3]/form[1]/div[1]/input[1]
Wait Until Page Contains Element   xpath=$xpath_click
Click Element   xpath=$xpath_click

然后,我们可以使用Select From List By Value 关键字从下拉列表中进行选择。

#The xpath link used below is just an example only..
$xpath_selectlist=  Set Variable   //div[5]//div[2]//div[2]/select
Select From List by Value   xpath=$xpath_selectlist  YOUR_SELECTION_VALUE

【讨论】:

以上是关于为机器人自动化中的下拉列表选择元素的主要内容,如果未能解决你的问题,请参考以下文章

在 jQuery 自动完成下拉列表中选择选项时失去焦点

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

选择固定宽度的下拉菜单,在 IE 中截断内容

自动选择下拉列表中的选定项目

Django模型中的下拉列表

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