• selenium3+python自动化10-基本操作2(单选框、复选框、table定位)


    一、前言

    本次总结是对之前内容的扩充selenium3+python自动化6-基本操作总结(键盘、鼠标、select下拉框) ,包含单元框和复选框操作、table定位等内容。

    二、单选框(radiobox)和复选框(checkbox)操作

    1.认识单选框和复选框

    html代码如下:

    <html>  
        <head>    
        <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> 

    2.单选框操作

    选择哪个选项就直接定位对应的选项,进行点击操作。

    3.复选框操作

    ①勾选单个框:选择哪个现象就直接定位对应的选项,进行操作

    ②全部勾选:找到选项中共同的属性,可以用xpath定位到一组元素,结合for循环一个一个去操作

    4.判断是否选中(is_selected())

    有时这个选项本身就是选中的,如果再点击一下,就反选了,所以在操作选项框之前先判断选项框有没有选中,如果没有再进行下面的操作。用is_selected()来判断是否是选中状态,返回结果为bool类型,没点击时候返回False,点击后返回True。

    5.实际应用

    以上面HTML为例进行单选框和复选框操作,代码如下:

    from selenium import webdriver
    from time import sleep
    driver=webdriver.Chrome()
    driver.maximize_window()
    driver.get('file:///C:/Users/%E5%BC%A0%E5%85%A8/Desktop/box.html')
    sleep(2)
    #单选框操作
    s=driver.find_element_by_id('boy').is_selected()
    # print(s)#没选中状态下,看is_selected()返回值
    if s==False:
        driver.find_element_by_id('boy').click()
    sleep(2)
    #复选框操作
    #勾选单个
    driver.find_element_by_id('c1').click()
    sleep(2)
    #全选
    elements=driver.find_elements_by_xpath('//*[@type="checkbox"]')
    for i in elements:
        if i.is_selected()==False:
            i.click()
    sleep(2)
    driver.quit()

    三、table定位

    1.认识table

    源码如下:

    <html>  
            <head>  
                <title>Table测试模板</title>  
                  
            </head>  
            <body>  
                <table border="1" id="myTable">  
                    <tr>  
                        <th>QQ群</th>  
                        <th>QQ号</th>  
                        <th>群主</th>  
                    </tr>  
                    <tr>  
                        <td>selenium自动化</td>  
                        <td>232607095</td>  
                        <td>YOYO</td>  
                    </tr>  
                    <tr>  
                        <td>appium自动化</td>  
                        <td>512200893</td>  
                        <td>YOYO</td>  
                    </tr>  
                </table>  
            </body>  
    </html> 

    2.table特性

    • table页面查看源码一般有这几个明显的标签:table、tr、th、td
    • <table>表示一个表格
    • <tr>表示这个表格中间的一个行
    • </th> 定义表头单元格
    • </td> 定义单元格标签,一组<td>标签将将建立一个单元格,<td>标签必须放在<tr>标签内

    3.实际应用

    表格定位常用xpath或者css,以定位上面表格中的“appium自动化为例”,代码如下:

    from selenium import webdriver
    from time import sleep
    driver=webdriver.Chrome()
    driver.maximize_window()
    driver.get('file:///C:/Users/%E5%BC%A0%E5%85%A8/Desktop/table.html')
    sleep(2)
    #通过xpath定位“appium自动化”
    t1=driver.find_element_by_xpath('//*[@id="myTable"]/tbody/tr[3]/td[1]')
    print(t1.text)
    #通过css定位“appium自动化”
    t2=driver.find_element_by_css_selector('#myTable > tbody > tr:nth-child(3) > td:nth-child(1)')
    print(t2.text)
    driver.quit()

    参考博客:https://www.cnblogs.com/yoyoketang/p/6287962.html

  • 相关阅读:
    MongoDB 数据类型
    linux 查看网卡流量:nload
    Linux 抓包工具:tcpdump
    python 合并列表 从大到小排序
    MongoDB的客户端管理工具--nosqlbooster 连接MongoDB服务器
    MongoDB 用户管理
    MongoDB 数据库操作
    MongoDB与关系型数据库 区别
    MongoDB 新建数据库和集合 查询集合
    POJ 1491
  • 原文地址:https://www.cnblogs.com/xiaobeibi/p/12343505.html
Copyright © 2020-2023  润新知