zoukankan      html  css  js  c++  java
  • webdriver--单选、复选及下拉框的定位

    • 单选radiobutton的操作

      两种情况,一种是各个button元素的属性都有唯一定位值,可以直接用属性唯一值定位;另一种就是一组各方面属性值都一样的radiobutton,除了text,可以用组元素定位来操作

    #检测任务下各题型的radiobutton有唯一id值
    driver.find_element_by_css_selector("#sinquestion").click()#选择检测任务:单选题
    
    #基础信息下的各学科radiobutton全都一样,组定位.两种方式
    driver.find_elements_by_css_selector("[name=SubjectName]").pop(1).click()
    
    driver.find_elements_by_css_selector("[name=SubjectName]")[1].click()
    • 复选checkbox的操作 
    #推送范围,遍历访问的方式全部勾选
    for push in driver.find_elements_by_name("GroupName"):
        push.click()
        time.sleep(1)

      单个勾选的话也可以用下标索引和pop()索引来处理

    • 下拉框的定位:select > option*x 结构,

       1. 定位父元素select,然后通过tag name找到所有option,得到option元素的数组,然后通过数组索引([1])定位,最后click.  

    driver.find_element_by_id("BookName").find_elements_by_tag_name("option")[1].click()#选择下拉框的第一个教材

    driver.find_element_by_id("BookName").find_elements_by_css_selector("[value=1419]").click()

       2. 用到了Select类, 实例select对象有很多方法:

    deselect_all(),全不选。

    deselect_by_index(index),不选index 项,index从0 还是从1 开始了。

    deselect_by_value( value),不选元素value属性为value的项,听着有点拗口,其实value值就是option标签中value的值。

    deselect_by_visible_text( text),不选标签innerHTML为text的option

    select_by_index( index),同上,选择第 index 项。这个用于 option的text和value不固定的情况

    select_by_value( value), 同上,选择。

    select_by_visible_text( text),同上,选择。

    1 #使用前需先引入Select类
    2 from selenium.webdriver.support.ui import Select 
    3  
    4 select = Select(driver.find_element_by_id("BookName")) 
    5 select.deselect_all()#大体意思是应该是先清空再选择,已经尝试过删除这句也可以选择成功,可能还没遇到失败的情况
    6 select.select_by_visible_text("我们版初中七年级语文上册")
  • 相关阅读:
    USB耳机声卡-音频输入/输出控制器:DP108替代兼容CM108
    关于lora标配SPDT大功率射频开关
    关于2.4G芯片中 CC2500的相关资料
    关于ESP8266EX的一些资料
    【1801日語写作】第11回:5月21日
    【日本語新聞選読】第11回:5月19日
    【1801日語听解4】第11回:5月19日
    【1801日語視聴説2】第11回:5月18日
    【1901日語听解2】第11回:5月18日
    【1701日本語新聞編集】第10回:5月15日
  • 原文地址:https://www.cnblogs.com/minieye/p/5806911.html
Copyright © 2011-2022 走看看