robot framework定位一个联动的下拉框时报错: element not visible

发布于 2022-09-07 12:48:07 字数 292 浏览 14 评论 0

robot framework定位一个联动的下拉框时报错: element not visible

clipboard.png
点击“0508科室”的代码如下

Click Element    //li[text()='0508科室']

运行到如图就失败了,“0508科室“虽然出现了,但是点击时,提示”element not visible“

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

荭秂 2022-09-14 12:48:07

一直以为问题出在下拉框的联动性上,后来看到网上有人说,页面有多个相同属性的元素,报这个错。于是看了第一个下拉框的选项,果然和第二个下拉框有相同选项,而他们的元素结构一模一样,所以找到了2个元素,估计默认点了第一个,但是第一个下拉选项此时不可见了,所以报”element not visible“。
找到原因就好解决了,先获取所有元素和元素个数,如果元素个数等于1,说明此时要点击第一个元素,如果元素个数等于2,说明此时要点第二个元素。
代码如下:

选择下拉框选项
    [Arguments]    @{text}
    Wait Until Page Contains Element    css=.ant-select-selection__rendered
    @{DropdownList}    Get WebElements    css=.ant-select-selection__rendered
    Comment    获取当前页面所有的下拉框,循环遍历,给每个下拉框赋值
    ${index}=    Set Variable    0  
    :FOR    ${keyword}    IN    @{DropdownList}
    \    Click Element    @{DropdownList}[${index}]
    \    @{ElementList}    Get WebElements    //li[text()='@{text}[${index}]']  
    \    ${ElementListLen}    Get Element Count    //li[text()='@{text}[${index}]']   
    \    Run Keyword If    ${ElementListLen}==1    Click Element    //li[text()='@{text}[${index}]']    
    \    Run Keyword If    ${ElementListLen}==2    Click Element    @{ElementList}[1]             
    \    ${index}    Evaluate    ${index}+1               
    [Documentation]    text为该页面所有下拉框赋值。text是一个参数列表,所以个数可变,页面有多少个下拉框,就填写多少个参数
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文