• Python+webdriver单选框/复选框定位


    1.单选框radio定位:

    直接定位即可

    driver.find_element_by_id("*****")

    2.复选框checkbox定位:

    直接定位即可

    driver.find_element_by_id("*****")

    3.复选框全部勾选定位:

    (1)可以一个一个勾选定位

    (2)可以定位一组元素

    复选框的type=checkbox,这里可以用xpath语法:.//*[@type='checkbox']

    drvier.find_elements_by_xpath(".//[@type='checkbox']")

    find_elements是不能直接点击的,它是复数的,所以只能先获取到所有的checkbox对象,然后通过for循环去一个个点击操作

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

    #-*-coding:utf-8-*-
    from selenium import webdriver
    import time
    driver = webdriver.Chrome()
    driver.get("https://www.kugou.com")
    driver.maximize_window()
    driver.find_element_by_tag_name("input").send_keys("成都")
    driver.find_element_by_class_name("searh_btn").click()
    time.sleep(3)
    elements = driver.find_elements_by_class_name("checkbox")#定位一组元素,得到一个列表
    for m in elements:
        m.click()
        time.sleep(1)
    elements.pop(0).click()#勾选/取消勾选索引为0的元素,如果已被选中则该操作效果为取消勾选.勾选或者取消勾选之后,列表会重新排序,pop()的效果是移除,无论勾选还是取消勾选,elements列表中的一个元素被移除,列表长度发生变化.
    print(len(elements))
    elements.pop(1).click()#勾选/取消勾选索引为0的元素,注意,elements列表收到上面pop(0)的影响,已经发生变化,列表更新后,此时为elemnents新列表中的索引为1的元素
    print(len(elements))
    elements.pop(2).click()#勾选/取消勾选索引为0的元素,列表重新排序,此时为新列表中的索引为2的元素
    print(len(elements))
    elements.pop().click()#勾选/取消勾选elements列表中最后一个元素,如果已被选中则该操作效果为取消选中
    print(len(elements))
    driver.quit()

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

    # 没点击操作前,判断选项框状态
    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

  • 相关阅读:
    Nginx详解
    MySQL数据库(未完)
    PXE自动装机
    Rsync数据同步服务
    NFS网络文件系统
    inotify事件监控工具
    scp ssh-key连接原理
    生产环境ssh登陆策略
    npm ERR! errno -4048
    js判断手机系统语言动态引入不同js文件
  • 原文地址:https://www.cnblogs.com/yaoze2018/p/10427158.html
Copyright © 2020-2023  润新知