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("我们版初中七年级语文上册")
  • 相关阅读:
    2019 牛客多校第二场 H Second Large Rectangle
    2019 牛客多校题解目录
    2019 牛客多校第一场 F Random Point in Triangle
    2019 牛客多校第一场 E ABBA
    2019 牛客多校第一场 D Parity of Tuples
    2019 牛客多校第一场 C Euclidean Distance ?
    2019 牛客多校第一场 B Integration
    2019 牛客多校第一场 A Equivalent Prefixes
    Sigils of Elohim
    UVA 1599 Ideal Path
  • 原文地址:https://www.cnblogs.com/minieye/p/5806911.html
Copyright © 2011-2022 走看看