Selenium2學習(十五)-- 單選框和複選框(radiobox、checkbox)

本篇主要介紹單選框和複選框的操做html

1、認識單選框和複選框python

    1.先認清楚單選框和複選框長什麼樣web

 

 

    2.各位小夥伴看清楚哦,上面的單選框是圓的;下圖複選框是方的,這個是業界的標準,要是開發小夥伴把圖標弄錯了,能夠先抽他了。瀏覽器

2、radio和checkbox源碼微信

    1.上圖的html源碼以下,把下面這段複雜下來,寫到文本里,後綴改爲.html就能夠了。app

 <html>  
    <head>  
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />  
    <title>單選和複選</title>  
    </head>  
    <body>  
    
    </form>  
    <h4>單選:性別</h4>   
    <form>  
    <label value="radio">男</label>   
    <input name="sex" value="male" id="boy" type="radio"><br>  
    <label value="radio1">女</label>  
    <input name="sex" value="female" id="girl" type="radio">  
    </form>  
    
    <h4>微信公衆號:從零開始學自動化測試</h4>  
    <form>  
    <!-- <label for="c1">checkbox1</label> -->  
    <input id="c1" type="checkbox">selenium<br>  
    <!-- <label for="c2">checkbox2</label> -->  
    <input id="c2" type="checkbox">python<br>  
    <!-- <label for="c3">checkbox3</label> -->  
    <input id="c3" type="checkbox">appium<br>  
    
    <!-- <form>  
    <input type="radio" name="sex" value="male" /> Male  
    <br />  
    <input type="radio" name="sex" value="female" /> Female  
    </form> -->  
      
    </body>  
    </html> 測試

3、單選:radioui

  1.首先是定位選擇框的位置url

 

 

  2.定位id,點擊圖標就能夠了,代碼以下(獲取url地址方法:把上面源碼粘貼到文本保存爲.html後綴後用瀏覽器打開,在瀏覽器url地址欄複製出地址就能夠了)3d

  3.先點擊boy後,等十秒再點擊girl,觀察頁面變化

 

4、複選框:checkbox

  1.勾選單個框,好比勾選selenium這個,能夠根據它的id=c1直接定位到點擊就能夠了

 

   2.那麼問題來了:若是想所有勾選上呢?

5、所有勾選:

    1.所有勾選,能夠用到定位一組元素,從上面源碼能夠看出,複選框的type=checkbox,這裏能夠用xpath語法:.//*[@type='checkbox']

 

     2.這裏注意,敲黑板作筆記了:find_elements是不能直接點擊的,它是複數的,因此只能先獲取到全部的checkbox對象,而後經過for循環去一個個點擊操做

6、判斷是否選中:is_selected()

    1.有時候這個選項框,自己就是選中狀態,若是我再點擊一下,它就反選了,這可不是我指望的結果,那麼可不能夠當它是沒選中的時候,我去點擊下;當它已是選中狀態,我就不點擊呢?那麼問題來了:如何判斷選項框是選中狀態?

    2.判斷元素是否選中這一步纔是本文的核心內容,點擊選項框對於你們來講沒什麼難度。獲取元素是否爲選中狀態,打印結果以下圖。

    3.返回結果爲bool類型,沒點擊時候返回False,點擊後返回True,接下來就很容易判斷了,既能夠做爲操做前的判斷,也能夠做爲測試結果的判斷

 

7、參考代碼:# coding:utf-8from selenium import webdriverdriver = webdriver.Firefox()driver.get("file:///C:/Users/Gloria/Desktop/checkbox.html")# 沒點擊操做前,判斷選項框狀態s = driver.find_element_by_id("boy").is_selected()print sdriver.find_element_by_id("boy").click()# 點擊後,判斷元素是否爲選中狀態r = driver.find_element_by_id("boy").is_selected()print r# 複選框單選driver.find_element_by_id("c1").click()# 複選框全選checkboxs = driver.find_elements_by_xpath(".//*[@type='checkbox']")for i in checkboxs:    i.click()

相關文章
相關標籤/搜索