自動化測試基礎篇--Selenium select下拉框


一、什么是下拉框

下拉框是多項選擇項,選擇其中一種,類似下面(以百度搜索設置為例)

源代碼如下所示:

二、直接定位

三、二次定位

四、Select模塊(index)

1.除了上面介紹的兩種簡單的方法定位到select選項,selenium還提供了更高級的玩法,導入Select模塊。直接根據屬性或索引定位;

2.先要導入select方法:from selenium.webdriver.support.select import Select;

3.然后通過select選項的索引來定位選擇對應選項(從0開始計數),如選擇第三個選項:select_by_index(2)。

五、Select模塊(value)

1.Select模塊里面除了index的方法,還有一個方法,通過選項的value值來定位。每個選項,都有對應的value值,如:

<select id="nr" name="NR">

<option selected="" value="10">每頁顯示10條</option>

<option value="20">每頁顯示20條</option>

<option value="50">每頁顯示50條</option>

2.第二個選項對應的value值就是"20":select_by_value("20")

六、Select模塊其它方法

select_by_index()  :通過索引定位

select_by_value()  :通過value值定位

select_by_visible_text() :通過文本值定位

deselect_all()          :取消所有選項

deselect_by_index()     :取消對應index選項

deselect_by_value()      :取消對應value選項

deselect_by_visible_text() :取消對應文本選項

first_selected_option()  :返回第一個選項

all_selected_options()   :返回所有的選項

七、參考代碼

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 # @File    : selectt.py
 4 # @Software: PyCharm
 5 from selenium import webdriver
 6 from selenium.webdriver.common.action_chains import ActionChains
 7 from selenium.webdriver.support.select import Select
 8 import time
 9 url = 'https://www.baidu.com'
10 browser = webdriver.Firefox()
11 browser.get(url)
12 time.sleep(3)
13 # 將鼠標指向設置按鈕
14 mouse = browser.find_element_by_link_text('設置')
15 ActionChains(browser).move_to_element(mouse).perform()
16 time.sleep(2)
17 browser.find_element_by_link_text("搜索設置").click()
18 # 直接通過元素定位
19 # browser.find_element_by_xpath(".//*[@id='nr']/option[2]").click()
20 
21 # 先定位下拉框,在定位里面的內容
22 # s = browser.find_element_by_id('nr')
23 # s.find_element_by_xpath("//option[@value='50']").click()
24 
25 # 通過索引定位
26 # s = browser.find_element_by_id('nr')
27 # Select(s).select_by_index(2)
28 
29 # 通過value定位
30 # s = browser.find_element_by_id('nr')
31 # Select(s).select_by_value(20)
32 
33 # 通過visible_text定位
34 s = browser.find_element_by_id('nr')
35 Select(s).select_by_visible_text("每頁顯示20條")
寫在最后的話:這些都是小編自己一個字一個字敲上去的,原創算不上,可能很多類似的資料,小編寫這個的目的是為了激勵自己在學習道路上養成良好的習慣,所以轉載請注明出處,謝謝!


免責聲明!

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



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