在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Python  網(wǎng)絡(luò)安全/ robot framework定位一個(gè)聯(lián)動(dòng)的下拉框時(shí)報(bào)錯(cuò): element no

robot framework定位一個(gè)聯(lián)動(dòng)的下拉框時(shí)報(bào)錯(cuò): element not visible

robot framework定位一個(gè)聯(lián)動(dòng)的下拉框時(shí)報(bào)錯(cuò): element not visible

clipboard.png
點(diǎn)擊“0508科室”的代碼如下

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

運(yùn)行到如圖就失敗了,“0508科室“雖然出現(xiàn)了,但是點(diǎn)擊時(shí),提示”element not visible“

回答
編輯回答
大濕胸

一直以為問(wèn)題出在下拉框的聯(lián)動(dòng)性上,后來(lái)看到網(wǎng)上有人說(shuō),頁(yè)面有多個(gè)相同屬性的元素,報(bào)這個(gè)錯(cuò)。于是看了第一個(gè)下拉框的選項(xiàng),果然和第二個(gè)下拉框有相同選項(xiàng),而他們的元素結(jié)構(gòu)一模一樣,所以找到了2個(gè)元素,估計(jì)默認(rèn)點(diǎn)了第一個(gè),但是第一個(gè)下拉選項(xiàng)此時(shí)不可見(jiàn)了,所以報(bào)”element not visible“。
找到原因就好解決了,先獲取所有元素和元素個(gè)數(shù),如果元素個(gè)數(shù)等于1,說(shuō)明此時(shí)要點(diǎn)擊第一個(gè)元素,如果元素個(gè)數(shù)等于2,說(shuō)明此時(shí)要點(diǎn)第二個(gè)元素。
代碼如下:

選擇下拉框選項(xiàng)
    [Arguments]    @{text}
    Wait Until Page Contains Element    css=.ant-select-selection__rendered
    @{DropdownList}    Get WebElements    css=.ant-select-selection__rendered
    Comment    獲取當(dāng)前頁(yè)面所有的下拉框,循環(huán)遍歷,給每個(gè)下拉框賦值
    ${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為該頁(yè)面所有下拉框賦值。text是一個(gè)參數(shù)列表,所以個(gè)數(shù)可變,頁(yè)面有多少個(gè)下拉框,就填寫(xiě)多少個(gè)參數(shù)
2018年4月1日 04:12