在利用selenium進行UI自動化測試過程中,經常會遇到下拉框選項,這篇博客,就介紹下如何利用selenium的Select模塊來對標准select下拉框進行操作。。。
首先導入Select模塊:
1 # coding=utf-8 2 from selenium import webdriver 3 from selenium.webdriver.support.select import Select
感興趣的可以將鼠標指向Select,然后按住Ctrl鼠標單擊,查看Select模塊的源碼,是如何定義封裝Select的各個方法的。
1、Select提供了三種選擇某一項的方法
1 select_by_index # 通過索引定位 2 select_by_value # 通過value值定位 3 select_by_visible_text # 通過文本值定位
注意事項:
index索引是從“0”開始;
value是option標簽的一個屬性值,並不是顯示在下拉框中的值;
visible_text是在option標簽中間的值,是顯示在下拉框的值;
2、Select提供了三種返回options信息的方法
1 options # 返回select元素所有的options 2 all_selected_options # 返回select元素中所有已選中的選項 3 first_selected_options # 返回select元素中選中的第一個選項
注意事項:
這三種方法的作用是查看已選中的元素是否是自己希望選擇的:
options:提供所有選項的元素列表;
all_selected_options:提供所有被選中選項的元素列表;
first_selected_option:提供第一個被選中的選項元素;
3、Select提供了四種取消選中項的方法
1 deselect_all # 取消全部的已選擇項 2 deselect_by_index # 取消已選中的索引項 3 deselect_by_value # 取消已選中的value值 4 deselect_by_visible_text # 取消已選中的文本值
注意事項:
在日常的web測試中,會經常遇到某些下拉框選項已經被默認選中,這種時候就需要用到這里所說的四種方法;
下面以實際的代碼來做個示例,被測試網頁與源碼截圖如下:
比如要選擇3線,那么三種選擇方法示例代碼如下:
1 # coding=utf-8 2 from selenium import webdriver 3 from selenium.webdriver.support.select import Select 4 from time import sleep 5 6 # 登錄 7 driver = webdriver.Chrome() 8 ...... 9 10 # 根據索引選擇 11 Select(driver.find_element_by_name("storeDeclare.cityLine")).select_by_index("3") 12 # 根據value值選擇 13 Select(driver.find_element_by_name("storeDeclare.cityLine")).select_by_value("3線") 14 # 根據文本值選擇 15 Select(driver.find_element_by_name("storeDeclare.cityLine")).select_by_visible_text("3線") 16 sleep(5) 17 driver.quit()
以上就是關於selenium的Select模塊提供的幾種方法的用法,示例代碼只是示例,具體實踐還需要結合實際的工作需要來進行,后續會介紹關於Xpath以及CSS定位等相關的內容。。。