zoukankan      html  css  js  c++  java
  • selenium 复选框处理

    在web自动化中,会遇到一些复选框的操作,在正常操作下,我们只要点击复选框即是勾选,再次点击则取消勾选,那selenium如何操作复选框呢? 其实和正常一样,我们只要定位到复选框后,就可以进行点击。

    复选框

    首先我们看下什么是复选框?复选框在HTML中长什么样子,这样才能方便我们进行定位操作。。

    复制代码
    <html>
    <body>
    <form >
    <p>请选择你关注测试-安静了吗?</p>
      <p><input type="checkbox" name="vehicle" value="Bike" /> 已经关注了!/p>
      <p><input type="checkbox" name="vehicle" value="Car"/> 没有关注!</p>
      <p><input type="checkbox" name="vehicle" value="name"/> 已经关注,并跟着安静学习一段时间了</p>
    </form>
    
    </body>
    </html>
    复制代码

    定位方法:

    1、勾选一个:通过元素定位方式选择value值,然后进行定位进行点击操作

    2、全部勾选:定位共同参数,通过find_elements的方法循环全部点击

    思路就是定位到想要勾选的内容,然后直接点击就完事了,这里要属于find_elements不能直接点击,因为定位的是复数,selenium不知道点击哪一个,我们可以通过for循环进行点击

    复制代码
    from selenium import webdriver
    import time
    driver = webdriver.Chrome()
    path = r'E:\web\checkbox.html'
    driver.get(path)
    # 定位全部复选框,然后进行循环点击
    t = driver.find_elements_by_xpath('//*[@type="checkbox"]')
    for i in t:
        i.click()
        time.sleep(2)
    # 取消定位第一个
    driver.find_element_by_css_selector('input[value=Bike]').click()
    复制代码

    判断复选框是否选中

    复选框,有的页面刚进去其实就已经勾选了,我们可以进行判断,如果勾选了,我们就直接进行下面的操作,哪么问题来了?我们如何判断元素是否被勾选?这里可以理解成元素是否被选中,哪么在selenium中是不是有个判断元素有没有被选中的方法? is_selected() 表示判断元素有没有被选中,如果选中打印True,没有选中打印False

    复制代码
    from selenium import webdriver
    driver = webdriver.Chrome()
    path = r'E:\web\checkbox.html'
    driver.get(path)
    t = driver.find_element_by_css_selector('input[value=name]').click()
    # 判断是否被选中
    if driver.find_element_by_css_selector('input[value=Bike]').is_selected():
        print('复选框已经选中')
    else:
        print('复选框没有选中')
    复制代码

    这里判断没有被选中的,可想而知,结果是“复选框没有选中”

    原文链接:

    https://www.cnblogs.com/qican/p/13534539.html

  • 相关阅读:
    轻量级Spring定时任务(Spring-task)
    Mysql语句优化建议
    python时间日期处理
    subprocess
    Tkinter初体验
    java基础
    java JVM
    NFV
    java加载properties文件的六种方法总结
    悲观锁和乐观锁的区别
  • 原文地址:https://www.cnblogs.com/superbaby11/p/15746655.html
Copyright © 2011-2022 走看看