【发布时间】:2018-08-22 11:15:12
【问题描述】:
我是 Robot Framework 的新手,我的问题需要您的帮助。当我尝试从下拉列表中选择一个元素时,该列表的默认类是“select-dropdown”,但是当单击它时,该类将变为“select-dropdown active”。所以即使我使用过,我也无法选择正确的元素 单击元素 xpath 或 css
所以请帮我处理这个案子。
默认类
点击后的类变化
【问题讨论】:
我是 Robot Framework 的新手,我的问题需要您的帮助。当我尝试从下拉列表中选择一个元素时,该列表的默认类是“select-dropdown”,但是当单击它时,该类将变为“select-dropdown active”。所以即使我使用过,我也无法选择正确的元素 单击元素 xpath 或 css
所以请帮我处理这个案子。
【问题讨论】:
请记住,这不是班级变更,而是班级增加。原来的类名仍然适用。使用它取决于您的个人喜好,但使用 xpath 可以这样制作:
//input[contains(@class, "select-dropdown")]
【讨论】:
input.select-dropdown 将匹配两个元素,因为class 中的空格分隔不同的类
我的方法只是使用从根 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
【讨论】: