Невозможно выбрать из выпадающего списка, используя видимый текст в RobotFramework - PullRequest
0 голосов
/ 26 апреля 2019

В 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 Ответ

2 голосов
/ 26 апреля 2019

Ключевое слово Select From List By Label делает то, что вы хотите - выбирает элемент по его видимому тексту. То есть с этим html:

<option>Faster</option>

, этот вызов выберет его:

Select From List By Label    id=speed    Faster
...