zoukankan      html  css  js  c++  java
  • Selenium:利用select模块处理下拉框

    在利用selenium进行UI自动化测试过程中,经常会遇到下拉框选项,这篇博客,就介绍下如何利用selenium的Select模块来对标准select下拉框进行操作。。。

     

    首先导入Select模块:

    1 # coding=utf-8
    2 from selenium import webdriver
    3 from selenium.webdriver.support.select import Select

    感兴趣的可以将鼠标指向Select,然后按住Ctrl鼠标单击,查看Select模块的源码,是如何定义封装Select的各个方法的。

    1、Select提供了三种选择某一项的方法

    1 select_by_index          # 通过索引定位
    2 select_by_value          # 通过value值定位
    3 select_by_visible_text   # 通过文本值定位

    注意事项:

    index索引是从“0”开始;

    value是option标签的一个属性值,并不是显示在下拉框中的值;

    visible_text是在option标签中间的值,是显示在下拉框的值;

     

    2、Select提供了三种返回options信息的方法

    1 options                  # 返回select元素所有的options
    2 all_selected_options     # 返回select元素中所有已选中的选项
    3 first_selected_options   # 返回select元素中选中的第一个选项

    注意事项:

    这三种方法的作用是查看已选中的元素是否是自己希望选择的:

    options:提供所有选项的元素列表;

    all_selected_options:提供所有被选中选项的元素列表;

    first_selected_option:提供第一个被选中的选项元素;

     

    3、Select提供了四种取消选中项的方法

    1 deselect_all             # 取消全部的已选择项
    2 deselect_by_index        # 取消已选中的索引项
    3 deselect_by_value        # 取消已选中的value值
    4 deselect_by_visible_text # 取消已选中的文本值

    注意事项:

    在日常的web测试中,会经常遇到某些下拉框选项已经被默认选中,这种时候就需要用到这里所说的四种方法;

    下面以实际的代码来做个示例,被测试网页与源码截图如下:

    比如要选择3线,那么三种选择方法示例代码如下:

     1 # coding=utf-8
     2 from selenium import webdriver
     3 from selenium.webdriver.support.select import Select
     4 from time import sleep
     5 
     6 # 登录
     7 driver = webdriver.Chrome()
     8 ......
     9 
    10 # 根据索引选择
    11 Select(driver.find_element_by_name("storeDeclare.cityLine")).select_by_index("3")
    12 # 根据value值选择
    13 Select(driver.find_element_by_name("storeDeclare.cityLine")).select_by_value("3线")
    14 # 根据文本值选择
    15 Select(driver.find_element_by_name("storeDeclare.cityLine")).select_by_visible_text("3线")
    16 sleep(5)
    17 driver.quit()

    以上就是关于selenium的Select模块提供的几种方法的用法,示例代码只是示例,具体实践还需要结合实际的工作需要来进行,后续会介绍关于Xpath以及CSS定位等相关的内容。。。

  • 相关阅读:
    nullnullConnecting with WiFi Direct 与WiFi直接连接
    nullnullUsing WiFi Direct for Service Discovery 直接使用WiFi服务发现
    nullnullSetting Up the Loader 设置装载机
    nullnullDefining and Launching the Query 定义和启动查询
    nullnullHandling the Results 处理结果
    装置输出喷泉装置(贪心问题)
    数据状态什么是事务?
    停止方法iOS CGD 任务开始与结束
    盘文件云存储——金山快盘
    函数标识符解决jQuery与其他库冲突的方法
  • 原文地址:https://www.cnblogs.com/imyalost/p/7846653.html
Copyright © 2011-2022 走看看