zoukankan      html  css  js  c++  java
  • 自动化6-选择框

    常见选择框包括:radio框,checkbox框,select框。

    一、radio框(单选框)

      若要选中其中的一个,有基础的两种方式:

       * 基于input的属性,checked给默认选中状态(原网页所给的默认值,无法自己更改);

       * 用WebElement的click方法,模拟用户点击;

    1 //HTML:
    2 <div id="s_radio">
    3     <input type=""radio" name="teacher" value="小江老师">小江老师</div>
    4     <input type=""radio" name="teacher" value="小雷老师">小雷老师</div>
    5     <input type=""radio" name="teacher" value="小凯老师" checked="checked">小凯老师</div>
    6 </div>
    1 from selenium import webdriver
    2 wd=webdriver.Firefox(executable_path=t'D:BrowserDrivergeckodriver.exe')
    3 wd.get('http://cdn1.python3.vip/files/selenium/test2.html')
    4 element=wd.find_element_by_css_selector('#s_radio input[checked="checked"]')
    5 print('这里选中的是:',element.get_attribute('value'))
    6 wd.find_element_by_css_selector('#s_radio input[value="小江老师"]').click()

    二、checkbox框(复选框)

      方法同上,click方法模拟用户点击选择。

      注意:要选中checkbox中的一个选项,必须先获取当前该复选框的状态(若该选项已勾选了,就不能再点击,否则反而会取消选择)

    1 <div id="s_checkbox">
    2   <input type="checkbox" name="teacher" value="小江老师">小江老师<br>
    3   <input type="checkbox" name="teacher" value="小雷老师">小雷老师<br>
    4   <input type="checkbox" name="teacher" value="小凯老师" checked="checked">小凯老师
    5 </div>
    1 from selenium import webdriver
    2 wd = webdriver.Firefox(executable_path=r'D:BrowserDrivergeckodriver.exe')
    3 wd.get('http://cdn1.python3.vip/files/selenium/test2.html')
    4 # 先把已经选中的选项全部点击一下
    5 elements = wd.find_elements_by_css_selector('#s_checkbox input[checked="checked"]')
    6 for element in elements:
    7     element.click()
    8 # 再点击 小雷老师
    9 wd.find_element_by_css_selector('#s_checkbox input[value="小雷老师"]').click()

    三、select框

      select是个新的select标签,对于select选择框,Selenium提供了Select类进行操作。

      方法:

        1. select_by_value : 根据选项的value属性值,选择元素;   

          => deselect_by_value : 根据选项的value属性值,去除选中元素;

        2. select_by_index : 根据选项的次序(从0开始),选择元素;

          => deselect_by_index : 根据选项的次序,去除选中元素;

        3. select_by_visible_text : 根据选项的可见文本,选择元素;

          => deselect_by_visible_text : 根据选中的可见文本,去除选中元素;

        4. deselect_all :去除选中所有元素;

      

      1)select单选框:不管原来选的是什么,直接使用Select方法选择即可。

    1 from selenium import webdriver
    2 # 导入Select类
    3 from selenium.webdriver.support.ui import Select
    4 wd=webdriver.Firefox(executable_path=r'D:BrowserDrivergeckodriver.exe')
    5 wd.get('http://cdn1.python3.vip/files/selenium/test2.html')
    6 # 创建一个select对象
    7 select=Select(wd.find_element_by_id('ss_single'))
    8 # 通过Select对象选中小江老师
    9 select.select_by_visible_text('小雷老师')

      

      2)select多选框:这个选择要注意先去掉原来已选中的选项

     1 from selenium import webdriver
     2 from selenium.webdriver.support.ui import Select
     3 wd = webdriver.Firefox(executable_path=r'D:BrowserDrivergeckodriver.exe')
     4 wd.get('http://cdn1.python3.vip/files/selenium/test2.html')
     5 select=Select(wd.find_element_by_id('ss_multi'))
     6 # 清楚所有的选中项
     7 select.deselect_all()
     8 # 选择小江老师和小雷老师
     9 select.select_by_visible_text('小江老师')
    10 select.select_by_visible_text('小雷老师')
  • 相关阅读:
    HBase利用observer(协处理器)创建二级索引
    hbase系列-Hbase热点问题、数据倾斜和rowkey的散列设计
    大数据项目实战之新闻话题的实时统计分析
    kafka&&sparkstreaming整合入门之Wordcount
    项目总结
    JAVA实现阿里云接口完成短信验证
    Java中的23种设计模式之——适配器Adapter模式(2)
    Java中的23种设计模式之——单例模式(1)
    ElasticSearch使用ElasticsearchTemplate整合spring
    ElasticSearch安装和基本使用(1)
  • 原文地址:https://www.cnblogs.com/Free-Ink/p/12568487.html
Copyright © 2011-2022 走看看