您的位置:时时app平台注册网站 > 编程知识 > 我八哥学Selenium(三):操作复选框checkbox/单选框

我八哥学Selenium(三):操作复选框checkbox/单选框

2019-11-28 03:20
<html>
 <head> 
  <meta http-equiv="content-type" content="text/html;charset=utf-8" /> 
  <title>学Python网 - selenium学习测试页面</title> 
 </head> 
 <body> 
  <h2>请选择你喜欢的开发语言</h2> 
  <form> 
   <p><input type="checkbox" id="c1" />C/C  </p>
   <p><input type="checkbox" id="c2" />Java</p>
   <p><input type="checkbox" id="c3" />Python</p>
   <p><input type="checkbox" id="c4" />PHP</p>
   <p><input type="checkbox" id="c5" />Golang</p>
  </form> 
  <h2>您是否喜欢您现在的工作?</h2> 
  <form> 
   <p><input type="radio" name="lovework" value="love" id="rlove" />喜欢</p>
   <p><input type="radio" name="lovework" value="hate" id="rhate" />不喜欢</p>
   <p><input type="radio" name="lovework" value="none" id="rnone" />无所谓</p>
  </form>  
 </body>
</html>

风姿浪漫、认知单选框和复选框

时时app平台注册网站 1

四、复选框:checkbox

从HTML代码看,那之中的复选框checkbox和单选框radio都是input标签,那么大家得以遍历出具有的input标签成分了,况兼那么些成分也皆有id,所以find_element_by_id和find_element_by_xpath操作单个元素也都以卓有效率的。

 时时app平台注册网站 2

本文首发于学Python网:http://www.XuePython.wang

 

html测验页面代码如下:

  1.率先是原则性选用框之处

# Autor: 5bug
# WebSite: http://www.XuePython.wang
# 学Python网QQ群: 643829693
from selenium import webdriver

driver = webdriver.Chrome("C:/Users/5bug/AppData/Local/Google/Chrome/Application/chromedriver.exe")
driver.maximize_window()
driver.get('file:///E:MyCodesPythondemosXuePython.wanghtmlcheck_radio.html')

#遍历得到checkbox/radio,并勾选指定的checkbox/radio
inputs = driver.find_elements_by_tag_name("input")
for input in inputs:
    # 读取元素id
    attr_id = input.get_attribute("id")
    print(attr_id)
    element_type = input.get_attribute("type")
    if element_type == "checkbox":
        #如果id在爱好的id数组内则勾选
        if input.is_enabled() & (attr_id in ["c1", "c3"]) & (not input.is_selected()):
            input.click()
    elif element_type == "radio":
        #勾选喜欢现在的工作选项
        if (attr_id == "rlove") & input.is_enabled() & (not input.is_selected()):
            input.click() 

 时时app平台注册网站 3

运行输出结果如下:

    3.回去结果为bool类型,没点击时候回来False,点击后回来True,接下去就相当的轻巧看清了,不仅可以用作操作前的判断,也得以用作测验结果的论断

Python代码演习:

  2.原则性id,点击图标就足以了,代码如下(获取url地址方法:把地点源码粘贴到文本保存为.html后缀后用浏览器展开,在浏览器url地址栏复制出地址就足以了卡塔尔国

复选框checkbox和单选框radio是web网址里日常会利用到的八个控件,那么在web自动化测验的时候怎么运用Selenium来操作那俩控件呢?前几日大家就来回顾入门练习一下!

    1.先认清楚单选框和复选框长什么样

  • find_elements_by_tag_name依据标具名称获得成分列表

  • get_attribute获取某些属性

  • is_enabled方法是用于决断是还是不是可用

  • is_selected方法是用以判别是或不是选中

  • is_displayed方法是用以剖断是还是不是出示

  3.先点击boy后,等十秒再点击girl,观看页面变化

这里运用了下边多少个点子:

# 复选框单选
driver.find_element_by_id("c1").click()
# 复选框全选
checkboxs = driver.find_elements_by_xpath(".//*[@type='checkbox']")
for i in checkboxs:
    i.click()

 时时app平台注册网站 4

本篇首要介绍单选框和复选框的操作

七、参谋代码:
# 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

六、决断是还是不是选中:is_selected()

 时时app平台注册网站 5

 

 时时app平台注册网站 6

    1.上海教室的html源码如下,把上边这段复杂下来,写到文本里,后缀改成.html就足以了。

    2.各位小友人看清楚哦,上面包车型地铁单选框是圆的;下图复选框是方的,那么些是产业界的科班,如若开拓小伙伴把Logo弄错了,可以先抽他了。

二、radio和checkbox源码

     2.这边注意,敲黑板做笔记了:find_elements是无法平素点击的,它是复数的,所以一定要先取获得具备的checkbox对象,然后经过for循环去一个个点击操作

  1.勾选单个框,比方勾选selenium那些,能够根据它的id=c1平素定位到点击就足以了

    1.有的时候候这些选项框,本身正是选中状态,如若本身再点击一下,它就反选了,那可不是作者盼望的结果,那么可不得以当它是没选中的时候,笔者去点击下;当它已然是选中状态,笔者就不点击呢?那么难点来了:如何剖断选项框是选中状态?

    2.判别成分是或不是选中这一步才是本文的大旨内容,点击选项框对于大户人家来讲没什么难度。获取成分是不是为当选状态,打字与印刷结果如下图。

五、全部勾选:

    1.全套勾选,可以用到牢固黄金时代组成分,从下面源码能够观望,复选框的type=checkbox,这里能够用xpath语法:.//*[@type='checkbox']

   2.那么难题来了:假设想任何勾选上啊?

 <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>Wechat民众号:从零先河学自动化测量试验</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> 

三、单选:radio

 时时app平台注册网站 7

本文由时时app平台注册网站发布于编程知识,转载请注明出处:我八哥学Selenium(三):操作复选框checkbox/单选框

关键词: