• 自动化测试基础篇--Selenium select下拉框


    一、什么是下拉框

    下拉框是多项选择项,选择其中一种,类似下面(以百度搜索设置为例)

    源代码如下所示:

    二、直接定位

    三、二次定位

    四、Select模块(index)

    1.除了上面介绍的两种简单的方法定位到select选项,selenium还提供了更高级的玩法,导入Select模块。直接根据属性或索引定位;

    2.先要导入select方法:from selenium.webdriver.support.select import Select;

    3.然后通过select选项的索引来定位选择对应选项(从0开始计数),如选择第三个选项:select_by_index(2)。

    五、Select模块(value)

    1.Select模块里面除了index的方法,还有一个方法,通过选项的value值来定位。每个选项,都有对应的value值,如:

    <select id="nr" name="NR">

    <option selected="" value="10">每页显示10条</option>

    <option value="20">每页显示20条</option>

    <option value="50">每页显示50条</option>

    2.第二个选项对应的value值就是"20":select_by_value("20")

    六、Select模块其它方法

    select_by_index()  :通过索引定位

    select_by_value()  :通过value值定位

    select_by_visible_text() :通过文本值定位

    deselect_all()          :取消所有选项

    deselect_by_index()     :取消对应index选项

    deselect_by_value()      :取消对应value选项

    deselect_by_visible_text() :取消对应文本选项

    first_selected_option()  :返回第一个选项

    all_selected_options()   :返回所有的选项

    七、参考代码

     1 #!/usr/bin/env python
     2 # -*- coding: utf-8 -*-
     3 # @File    : selectt.py
     4 # @Software: PyCharm
     5 from selenium import webdriver
     6 from selenium.webdriver.common.action_chains import ActionChains
     7 from selenium.webdriver.support.select import Select
     8 import time
     9 url = 'https://www.baidu.com'
    10 browser = webdriver.Firefox()
    11 browser.get(url)
    12 time.sleep(3)
    13 # 将鼠标指向设置按钮
    14 mouse = browser.find_element_by_link_text('设置')
    15 ActionChains(browser).move_to_element(mouse).perform()
    16 time.sleep(2)
    17 browser.find_element_by_link_text("搜索设置").click()
    18 # 直接通过元素定位
    19 # browser.find_element_by_xpath(".//*[@id='nr']/option[2]").click()
    20 
    21 # 先定位下拉框,在定位里面的内容
    22 # s = browser.find_element_by_id('nr')
    23 # s.find_element_by_xpath("//option[@value='50']").click()
    24 
    25 # 通过索引定位
    26 # s = browser.find_element_by_id('nr')
    27 # Select(s).select_by_index(2)
    28 
    29 # 通过value定位
    30 # s = browser.find_element_by_id('nr')
    31 # Select(s).select_by_value(20)
    32 
    33 # 通过visible_text定位
    34 s = browser.find_element_by_id('nr')
    35 Select(s).select_by_visible_text("每页显示20条")
    写在最后的话:这些都是小编自己一个字一个字敲上去的,原创算不上,可能很多类似的资料,小编写这个的目的是为了激励自己在学习道路上养成良好的习惯,所以转载请注明出处,谢谢!
  • 相关阅读:
    不允许修改SQLserver2008r2表中字段的属性问题
    SQL学习笔记 SQL ORDER BY 关键字
    超爱http://www.runoob.com/菜鸟编程
    sqlserver数据类型
    SQL重要命令
    Task--计算器
    改变文本框内容
    Android Studio
    eclipse导入Android项目出现红色感叹号----Solved
    2017-09-09
  • 原文地址:https://www.cnblogs.com/sanzangTst/p/7681523.html
Copyright © 2020-2023  润新知