selenium下拉框踩坑埋坑
阿新 • • 發佈:2018-12-15
本文來自網易雲社群
作者:王利蓉
最近web端全站重構,所有的頁面都大大小小都有些變動,UI就全軍覆沒了,用例從登入改,改到個人資訊頁面發現根以前的實現方式完全不一樣,這可怎麼解決
1.以前的實現(option value的對應),現在是新頁面 我就找個其他網站的參考下
<html> <head> <title>Select</title> </head> <body> <span>select demo</span> <select id = "s" name = "ns"> <option value = "0">Op1</option> <option value = "1">Op2</option> <option value = "2">Op3</option> <option value = "3">Op4</option> </select> </body> </html>
這種通過直接給value賦值即可,網上尋找解決方法也很多,指令碼實現如下:
bot.click(By.xpath("//select[@id='birth-year']/option[@value='" + year + "']"));
2.重構之後的實現,選擇時元素為隱藏狀態,選擇過程是聯動的,找不到元素 哭!!
這種該如何解決呢?開始的時候想採用第一種方法,隱藏的那個元素直接賦值,如紅框所示,想想也是不可能的,於是就網上找解決方法,如何將隱藏的元素顯示出來,果真還真被找到了,通過js,顯示各種隱藏的元素。
js="var p=document.getElementByClassName('Select-value');p.style.display='block';" driver.execute_script(js); bot.click(By.xpath("//div[@aria-owns='react-select-5--list'][@aria-activedescendant='"+province+"']"));
網易雲免費體驗館,0成本體驗20+款雲產品!
更多網易研發、產品、運營經驗分享請訪問網易雲社群。