單選框和復選框(radiobox、checkbox)


單選框和復選框(radiobox、checkbox)

原文地址:https://www.cnblogs.com/zidonghua/p/7430083.html

本篇主要介紹單選框和復選框的操作
一、認識單選框和復選框
    1.先認清楚單選框和復選框長什么樣

    2.各位小伙伴看清楚哦,上面的單選框是圓的;下圖復選框是方的,這個是業界的標准,要是開發小伙伴把圖標弄錯了,可以先抽他了。
二、radio和checkbox源碼
    1.上圖的html源碼如下,把下面這段復制下來,寫到文本里,后綴改成.html就可以了。

復制代碼
 <html>  
    <head>  
      <meta http-equiv="content-type" content="text/html;charset=utf-8"/>  
      <title>單選和復選</title>  
    </head>  
    <body>  

    <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>  
    <!-- <labelfor="c1">checkbox1</label> --> 
    <input id="c1"type="checkbox">selenium<br>  
    <!-- <labelfor="c2">checkbox2</label> -->  
    <input id="c2"type="checkbox">python<br>  
    <!-- <labelfor="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> 
復制代碼

三、單選:radio
  1.首先是定位選擇框的位置

 

  2.定位id,點擊圖標就可以了,代碼如下(獲取url地址方法:把上面源碼粘貼到文本保存為.html后綴后用瀏覽器打開,在瀏覽器url地址欄復制出地址就可以了)
  3.先點擊boy后,等十秒再點擊girl,觀察頁面變化

 

四、復選框:checkbox
  1.勾選單個框,比如勾選selenium這個,可以根據它的id=c1直接定位到點擊就可以了。

  2.那么問題來了:如果想全部勾選上呢?

五、全部勾選:
    1.全部勾選,可以用到定位一組元素,從上面源碼可以看出,復選框的type=checkbox,這里可以用xpath語法:.//*[@type='checkbox']

     2.這里注意,敲黑板做筆記了:find_elements是不能直接點擊的,它是復數的,所以只能先獲取到所有的checkbox對象,然后通過for循環去一個個點擊操作


六、判斷是否選中:is_selected()
    1.有時候這個選項框,本身就是選中狀態,如果我再點擊一下,它就反選了,這可不是我期望的結果,那么可不可以當它是沒選中的時候,我去點擊下;當它已經是選中狀態,我就不點擊呢?那么問題來了:如何判斷選項框是選中狀態?
    2.判斷元素是否選中這一步才是本文的核心內容,點擊選項框對於大家來說沒什么難度。獲取元素是否為選中狀態,打印結果如下圖。
    3.返回結果為bool類型,沒點擊時候返回False,點擊后返回True,接下來就很容易判斷了,既可以作為操作前的判斷,也可以作為測試結果的判斷。

 

七、參考代碼:

復制代碼
# coding:utf-8
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("file:///C:/Users/Gloria/Desktop/checkbox.html")
# 沒點擊操作前,判斷選項框狀態
s = driver.find_element_by_id("boy").is_selected()
print s
driver.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()


免責聲明!

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



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