无法使用RobotFramework中的可见文本从下拉列表中进行选择

时间:2019-04-26 07:27:14

标签: selenium-webdriver drop-down-menu robotframework

在Robotframework中,只能使用'从索引列表中选择从标签列表中选择选择“按值列出”。

但是我的xml不包含任何标签或值。

因此,是否有任何关键字喜欢 从可见文本列表中选择 以通过可见文本进行选择。

<select name="speed" id="speed" style="display: none;">
     <option>Slower</option>
     <option>Slow</option>
     <option selected="selected">Medium</option>
     <option>Fast</option>
     <option>Faster</option>
</select>

我找到了一种解决方法,例如迭代网络列表并验证其中的文本,然后按索引进行选择

@{mylist}=    Get Webelements    //*[@id='speed']/option
${i}=    Set Variable    0
${len}=    Get Length    ${mylist}  
:FOR    ${elem}    IN    @{mylist}
\    Log To Console    ${elem}    
\    ${value}=    Get Text    ${elem}
\    Log To Console    ${value}
\    ${ival}=    Convert To String    ${i}
\    Run Keyword if    '${value}'=='Faster' or ${value}'=='Navigation Commands'
\    ...    Select From List By Index    speed    ${ival}
\    ${i}=    Evaluate    ${i}+1
\    Log To Console    ${i}      
END

但是我想知道还有什么更简单的方法吗?

1 个答案:

答案 0 :(得分:2)

关键字Select From List By Label可以满足您的要求-通过其可见文本选择元素。 也就是说,使用此html:

<option>Faster</option>

,此呼叫将选择它:

Select From List By Label    id=speed    Faster