2017-02-22 73 views
0

我在使用机器人框架上的Selenium libary时遇到了麻烦,请大家帮忙。选择包含另一个X-Path单词的X-Path

我有一个下拉菜单,其中有2个元素 - 1是“资源”,2是“资源管理”。 我使用这个关键字:

Click element | // /格[(含有(@class, “组合列表”)或含有(@class, “下拉菜单”))] /后代:: [。= “资源”]

但不知,它只能点击资源管理而不是资源。 请支持。 T_T

+0

分享确切'HTML'对于相同的代码 – Andersson

回答

2

您在选择下拉列表时不要选择Click元素。你使用关键字Select From List By Label。下面是你的情况的一个例子:

Select From List By Label Xpath=ChangeMe Resource 

这将选择下拉菜单中找到你里面的条目Resource - 使用您所选择的定位。

有很多不同的Select From List关键字,可在Selenium2Library Documentation找到。

编辑:

注意到另外一个问题:如果你想选择一个XPath的第2个发生 - 你只是将其封装在括号(),添加Xpath=前缀,并在末尾添加的Xpath的发生数量。例如:

Xpath=(//span[contains(string(), 'Submit')])[2] 

这发现第2个跨度包含单词Submit。在我的情况下,它找到第二个提交按钮。尽管当前页面上有5个(在我的情况下)。 This should help you了解Xpaths。当我学习时,它给了我很多帮助!

任何问题,让我知道:)

0

我最近所面对关于如何使用机器人框架来处理下拉列表类似的问题。

看到这个职位:Select From List selects item but does not commit change

Akash W.共享这样的回答: 使用以下关键字。

通行证定位器第一参数和值作为另一参数

Select from list by label and validate 
    [Arguments] ${locator}  ${select value} 
    Focus ${locator} 
    # Select from list by label 
    Select From List By Label ${locator} ${select value} 
    # Get selected value and validate it against passed value as argument 
    ${value} = Get Selected List Label ${locator} 
    Should be equal ${select value} ${value}