下拉框处理(select)
在UI自動化測試過程中,經常會遇到一些下拉框,我們有三種可選方式來操作下拉框。
第一種方法
基于webdriver的兩次click,很容易出現問題,不建議使用。(由于部分下拉框在點擊一次后,失去焦點再點下一次時可能下拉框中的參數就消失了,那么就無法進行選擇了,所以會出現無法定位到目標元素或目標元素不可見的問題。)
第二種方法
基于Action Chains進行連貫操作,首先點擊下拉框,然后移動到目標選中元素,最后在點擊一次,代碼量很大、復雜,不考慮代碼量可以使用。
第三種方法
實際上Selenium給我們提供了專門的指令來處理下拉框,我們只需要導入Selenium提供的模塊使用即可。(建議使用)
一、什么場景需要我們可以使用Select模塊
HTML中通過select標簽生成的下拉框,就可以通過Select模塊進行處理
二、Select模塊的原理及源碼分析
上面我們說到,select模塊只支持HTML頁面是通過select標簽生成的。實際源碼中也有寫到,Select類在實例化時接收獲取到的select元素對象,在初始化時就通過tag_name判斷了是否是select標簽。如果不是則實例化直接失敗。
我們以select_by_value為例,分析select模塊實現原理。
分析select的源碼還是需要有一定的知識儲備量的,比如HTML基礎知識和Css Selector定位的寫法格式。
普通的下拉框由兩個標簽組成,select標簽與option標簽,我們可以將select標簽理解為下拉框的架子,option是里面每個參數,其中value則為option標簽的一種屬性。
了解了上面的html基礎知識后,在看源碼實際就很簡單了,在實例化Select類后,通過再次獲取Select對象中符合要求的option(這里通過css selector的定位方式,根據option的value屬性定位我們需要的那個元素),循環處理獲取到的option,通過is_selected方法判斷是否被選中,如果沒有選中則再次點擊下。就完成了目標select元素的選中操作。
三、Select模塊應用,簡便的下拉框處理方法演示。
以HTML基礎中的其中一個select框為例(鏈接:http://ui.imdsx.cn/html/#select-test)
通過實例Select類操作下拉框非常簡單,一行代碼直接搞定,快上手試試吧。
四、Select常用的Api方法介紹
?
轉載于:https://www.cnblogs.com/xuzhongtao/p/9614039.html
總結
以上是生活随笔為你收集整理的下拉框处理(select)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python学习-----9.7----
- 下一篇: JavaScript深拷贝—我遇到的应用