2017-02-22 72 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}