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

问题描述 投票:0回答:1

在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

但我想知道有没有更简单的方法。

selenium-webdriver drop-down-menu robotframework
1个回答
2
投票

关键字Select From List By Label可以执行您想要的操作 - 通过可见文本选择元素。也就是说,用这个html:

<option>Faster</option>

,这个电话会选择它:

Select From List By Label    id=speed    Faster
© www.soinside.com 2019 - 2024. All rights reserved.