selenium自動化測試入門 下拉框元素定位

選擇獲取反選下拉框元素首先要實例化select元素

from selenium.webdriver.support.ui import Select # 引入包

select_element=Select(element) # 實例化select

三種常用選擇方法

select_element.select_by_index(index) 根據index定位,從0開始

select_element.select_by_value(value) 根據value屬性定位

select_element.select_by_visible_text(text) 根據文本定位

反選的方法

select_element.deselect_by_index(index) 根據index定位,從0開始

select_element.deselect_by_value(value) 根據value屬性定位

select_element.deselect_by_visible_text(text) 根據文本定位

select_element.deselect_all() 取消全部選擇

獲取選項的值

select_element.options 返回這個select元素所有的options

select_element.all_selected_options 所有被選中的options

select_element.first_selected_option 第一個被選中的option

創建select.html 文件,代碼如下:

<form> <select id="s1Id"> <option></option> <option value="o1" id="id1">o1</option> <option value="o2" id="id2">o2</option> <option value="o3" id="id3">o3</option> </select> <br/><br/> <select id="s2Id" multiple="multiple" size="6"> <option></option> <option value="o1val">o1</option> <option value="o2val">o2</option> <option value="o3val">o3</option> <option value="o4val"> With spaces</option> <option value="o4val">&nbsp;&nbsp;&nbsp;&nbsp;With nbsp</option> </select></form>

示例1:採用三種方法依次選擇s1Id的值

s1 = Select(driver.find_element_by_id(s1Id)) # 實例化Select,頁面第一個下拉框s1.select_by_index(1) # 選擇第二項選項:o1s1.select_by_value("o2") # 選擇value="o2"的項s1.select_by_visible_text("o3") # 選擇text="o3"的值,即在下拉時我們可以看到的文本

示例2:想查看一個s1Id所有的選項

s1 = Select(driver.find_element_by_id(s1Id))for select in s1.options: print(select.text)

示例3:查看我已選中的所有選項,s2Id可以多選的選擇框

s4 = Select(driver.find_element_by_id(s2Id))s4.select_by_index(1) # 根據順序選擇第2個s4.select_by_value("o2val") # 根據value屬性選擇o2vals4.select_by_visible_text("With spaces") # 根據展示文本選擇With spacess4.select_by_visible_text(u" With nbsp") # 注意空格,只有為 是才用空格for select in s4.all_selected_options: # 循環獲取所有的值 print(select.text)

注意:只有隻有為 的空格才是空格,在html中代碼只有 才代表空格,代碼中的空格不是空格。

示例4:查看選擇框的默認值或選中的值

s1 = Select(driver.find_element_by_id(s1Id))print(s1.first_selected_option.text) # 查看選擇默認值s1.select_by_value("o2")print (s2.first_selected_option.text) # 查看選中的值

示例5:取消選擇

s4 = Select(driver.find_element_by_id(s2Id))s4.select_by_index(1)s4.select_by_value("o2val")s4.select_by_visible_text("With spaces")s4.select_by_visible_text(u" With nbsp")s4.deselect_by_index(1) # 根據值順序取消選擇s4.deselect_by_value("o2val") # 根據value屬性取消選擇s4.deselect_by_visible_text("With spaces") # 根據文本取消選擇s4.select_by_value("o2val")s4.select_by_index(1)s4.deselect_all() # 取消全部選擇

推薦閱讀:

selenium自動化測試入門 層級定位與定位一組元素
selenium自動化測試入門 設置等待時間
零基礎如何學習自動化測試
Pycharm—FileNotFoundError: [WinError 2] 系統找不到指定的文件?

TAG:软件测试 | 自动化测试 | Selenium |