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"> 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] 系統找不到指定的文件?