美文网首页
自动化测试——selenium之checkbox全选、取消选中

自动化测试——selenium之checkbox全选、取消选中

作者: 顶宝麻麻 | 来源:发表于2019-04-22 17:44 被阅读0次

    checkbox.html

    <!DOCTYPE html>
    <html lang="en">
    <link>
        <meta charset="UTF-8">
        <title>Checkbox</title>
        <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
    </head>
    <body>
        <h3>checkbox</h3>
        <div class="well">
            <form class="form-horizontal">
                <div class="control-group">
                    <label class="control-label" for="c1">checkbox1</label>
                    <div class="controls">
                        <input type="checkbox" id="c1"/>
                    </div>
                </div>
                <div class="control-group">
                    <label class="control-label" for="c2">checkbox2</label>
                    <div class="controls">
                        <input type="checkbox" id="c2"/>
                    </div>
                </div>
                <div class="control-group">
                    <label class="control-label" for="c3">checkbox3</label>
                    <div class="controls">
                        <input type="checkbox" id="c3"/>
                    </div>
                </div>
            </form>
        </div>
    </body>
    </html>
    

    checkbox.py

    from selenium import webdriver
    import os,time
    
    driver = webdriver.Chrome()
    file_path = 'file:////' + os.path.abspath('checkbox.html')
    driver.get(file_path)
    
    # # 选择页面上所有的tag name为input的元素
    # inputs = driver.find_elements_by_tag_name('input')
    #
    # # 然后从中过滤出type 为 checkbox的元素,单击勾选
    # for i in inputs:
    #     if i.get_attribute('type') == 'checkbox':
    #         i.click()
    #         time.sleep(2)
    
    # 通过XPath找到type = checkbox
    #checkboxes = driver.find_elements_by_xpath("//input[@type='checkbox']")
    
    # 通过css 找到type = checkbox
    checkboxes = driver.find_elements_by_css_selector('input[type=checkbox]')
    
    for checkbox in checkboxes:
        checkbox.click()
        time.sleep(2)
    
    # 打印当前页面上type为checkbox的个数
    print("checkbox 的个数:",len(checkboxes))
    
    # 取消最后一个选中
    driver.find_elements_by_css_selector('input[type=checkbox]').pop().click()
    time.sleep(3)
    
    # 取消第一个选中
    driver.find_elements_by_css_selector('input[type=checkbox]').pop(0).click()
    time.sleep(3)
    
    # 取消第二个选中
    driver.find_elements_by_css_selector('input[type=checkbox]').pop(1).click()
    time.sleep(3)
    
    # 全部取消选中
    # for checkbox in checkboxes:
    #     checkbox.click()
    
    driver.quit()
    

    相关文章

      网友评论

          本文标题:自动化测试——selenium之checkbox全选、取消选中

          本文链接:https://www.haomeiwen.com/subject/xmeugqtx.html