定位元素遇到的坑——單選按鈕判斷選中狀態


第一步:定位紅色框中的代碼和元素

 

 

1.1、定位單選按鈕女:ele_nv=driver.find_elements_by_xpath("//div[@class=\"ivu-form-item-content\"]/div/label[1]/span")

1.2、判斷元素是否選中:print(ele_nv.is_selected())===========False

1‘3、選擇女:ele_nv.click()

1.4、保存,然后刷新網頁

1.5、重新定位並判斷是否選中:result=driver.find_elements_by_xpath("//div[@class=\"ivu-form-item-content\"]/div/label[1]/span").is_selected()=======False

遇到的問題:查看網頁,刷新網頁,明明選中了女,但是一直輸出False

第二步:修改代碼,定位到span下的input來定位

2.1、定位單選按鈕女:ele_nv=driver.find_elements_by_xpath("//div[@class=\"ivu-form-item-content\"]/div/label[1]/span/input")

2.2、判斷元素是否選中:print(ele_nv.is_selected())===========False

2.3、選擇女:ele_nv.click()

2.4、保存,然后刷新網頁

2.5、重新定位並判斷是否選中:result=driver.find_elements_by_xpath("//div[@class=\"ivu-form-item-content\"]/div/label[1]/span/input").is_selected()

遇到的問題:2.3步時報異常,selenium.common.exceptions.ElementNotVisibleException: Message: element not interactable (Session info:chrome=74.0.3729.108) (Driver info: chromedriver=2.43.600210====元素不可交互的異常,這里應該是隱藏了,所以點擊報錯

第三步、男已經選中,判斷一下男這個單選按鈕是否是選中狀態

3.1 ele_男=driver.find_elements_by_xpath("//div[@class=\"ivu-form-item-content\"]/div/label[2]/span")

      print(ele_男.is_selected())=========False   明明男是選中的但是輸出False

3.2  ele_男=driver.find_elements_by_xpath("//div[@class=\"ivu-form-item-content\"]/div/label[2]/span/input")

      print(ele_男.is_selected())=========True   男是選中狀態輸出True

     ele_nv=driver.find_elements_by_xpath("//div[@class=\"ivu-form-item-content\"]/div/label[1]/span/input")

       print(ele_nv.is_selected())=========False  女沒有選中,輸出False

綜上得出以下結論:

1、("//div[@class=\"ivu-form-item-content\"]/div/label[2]/span")可以操作元素,但是不能判斷是否選中

2、("//div[@class=\"ivu-form-item-content\"]/div/label[2]/span/input")不可以操作元素,但是可以判斷是否選中

最終的解決方案:

通過("//div[@class=\"ivu-form-item-content\"]/div/label[2]/span")來操作元素,通過("//div[@class=\"ivu-form-item-content\"]/div/label[2]/span/input")來定位元素

代碼如下:

1、ele_nv=driver.find_elements_by_xpath("//div[@class=\"ivu-form-item-content\"]/div/label[1]/span")

2、ele_nv.click()

3、保存刷新

4、ele_nv1=driver.find_elements_by_xpath("//div[@class=\"ivu-form-item-content\"]/div/label[1]/span/input")

5、判斷結果;ele_nv1.is_selected()

 

經驗總結:遇到這個問題是因為對單選按鈕語法不清楚

 

 判斷是否選中需要定位到單選按鈕上也就是要定位下面這行代碼上

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM