selenium-webdriver - 无法使用 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
但我想知道有没有更简单的方法。
解决方案
关键字Select From List By Label
做你想做的——通过可见文本选择元素。也就是说,使用这个html:
<option>Faster</option>
,此调用将选择它:
Select From List By Label id=speed Faster
推荐阅读
- android - 具有自定义 Swipe 视图的 Android Recycler
- gitlab - Argocd 与 GITLAB 存储库的连接
- asp.net - 模态中的动态复选框
- reactjs - 使用 BottomTabNavigator 防止在状态更改后重新渲染
- c# - C# - 将对象序列化为常量变量或直接在 NUnit 的测试用例中使用
- arrays - 如何将 numpy 数组转换为 Zarr 数组
- python - 如何检查给定对象列表中每种不同类型的对象是否具有可比性?
- reactjs - 是否可以将对象中函数的流类型动态设置为其属性之一的类型?
- python - 如何在 Abaqus/Python scipting 中从 CSV 文件中读取数据
- html - 当它们处于同一级别时将scss添加到html