zoukankan      html  css  js  c++  java
  • Select下拉框操作

    1、认识Select框,

    • 平时遇到下图中的情况,通过下拉列表选择的信息
    • select的标签属性:<select class="form-control" id="corporationName" style="margin-bottom:4px;" name="corporationName" data-bv-field="corporationName">
    • 存在两个选项值:<option value="函数兔008集团" selected="">函数兔008集团</option>、<option value="金石基金测试0314日注册">金石基金测试0314日注册</option>

    2、定位方法-二次定位

    • 先定位select框,在定位select的选项:查看该代码,id和name都有重复的,不方便定位,选择了xpath定位方法
    • 代码如下:
    from selenium import webdriver
    import time
    
    driver = webdriver.Chrome()
    driver.get("http://djuat.dtfunds.com/fund-jsqyweb/index.html")
    time.sleep(2)
    driver.maximize_window()
    driver.find_element_by_name("mobile").send_keys("13770506771")
    time.sleep(1)
    select = driver.find_element_by_xpath("//select")
    time.sleep(1)
    #先定位select,再操作选项,
    select.find_element_by_xpath("//select/option[2]").click()
    time.sleep(1)
    select.find_element_by_xpath("//select/option[1]").click()
    time.sleep(1)
    
    #也可以直接操作,
    driver.find_element_by_xpath("//select").find_element_by_xpath("//select/option[2]").click()
    time.sleep(1)
    driver.quit()

    3、定位方法-直接定位

    • 直接通过xpath定位到元素直接操作:driver.find_element_by_xpath("//select/option[2]").click()

    4、Select模块-index

    • selenium还提供了更高级的玩法,导入select模块直接用索引来定位
    • 先导入:from selenium.webdriver.support.select impot  Select
    • 然后通过索引来选择对应的选项(index从0开始)
    • 代码:
    from selenium import webdriver
    from selenium.webdriver.support.select import Select
    import time
    
    driver = webdriver.Chrome()
    driver.get("http://djuat.dtfunds.com/fund-jsqyweb/index.html")
    time.sleep(2)
    driver.maximize_window()
    driver.find_element_by_name("mobile").send_keys("13770506771")
    time.sleep(1)
    select = driver.find_element_by_xpath("//select")
    #通过索引来定位
    Select(select).select_by_index(1)
    time.sleep(1)
    Select(select).select_by_index(0)
    time.sleep(1)
    Select(select).select_by_index(1)
    time.sleep(1)
    driver.quit()

    5、Select模块-value

    • 除了使用index方法定位,还有通过value值来定位
    • 代码:
    select = driver.find_element_by_xpath("//select")
    Select(select).select_by_value("函数兔008集团")
    time.sleep(1)
    Select(select).select_by_value("金石基金测试0314日注册")
    time.sleep(1)
    Select(select).select_by_value("函数兔008集团")

    6、Select模块-text

    • 除了使用index方法定位,还有通过text值来定位
    • 代码:
    #通过text来定位
    Select(select).select_by_visible_text("函数兔008集团")
    time.sleep(1)
    Select(select).select_by_visible_text("金石基金测试0314日注册")
    time.sleep(1)
    Select(select).select_by_visible_text("函数兔008集团")

    7、Select模块-其他方法

    • 除了使用index方法定位,还有通过text值来定位
    • 以下方法没有使用过
    deselect_all() :取消所有选项
    deselect_by_index() :取消对应 index 选项
    deselect_by_value() :取消对应 value 选项
    deselect_by_visible_text() :取消对应文本选项
    first_selected_option() :返回第一个选项
    all_selected_options() :返回所有的选项
  • 相关阅读:
    文件的增删改查
    集合的使用
    字典的使用
    字符串常用操作
    简单购物车程序练习题
    列表
    数据运算数据类型与
    模块初识
    数据库时间设置
    ubuntu 修改时区
  • 原文地址:https://www.cnblogs.com/ygzy/p/9564233.html
Copyright © 2011-2022 走看看