zoukankan      html  css  js  c++  java
  • web自动化测试(6)--下拉列表操作

    在html页面中,常见的下拉别表操作采用select--option的方式来实现。

    针对这一类的下拉列表操作,我们在进行自动化操作时需要引入Select类:from selenium.webdriver.support.select import Select

    操作流程如下:

    1、找到页面中的select元素;

    2、实例化Select类,并将查找到的select元素作为参数进行参数传递;

    3、通过下标/value/text进行选值。

    部分实例如下:

     1 ......
     2 # 找到select元素
     3 ele = driver.find_element("id","hobby")
     4 
     5 # 实例化Select类,将select元素对象传进去。
     6 s = Select(ele)
     7 
     8 # 通过下标/value/文本选值
     9 s.select_by_value("看书")
    10 sleep(3)
    11 s.select_by_index(4)
    12 sleep(3)
    13 s.select_by_visible_text("看剧")
    14 ......

    除了使用select--option的方式实现下拉列表的功能外,还可以使用其他方式来实现下拉列表,如百度首页中的“设置”部分:

     我们可以采用鼠标操作的方式实现下拉列表中元素的选择,具体操作代码同鼠标操作章节中的实例。

     1 from selenium import webdriver
     2 from selenium.webdriver.common.by import By
     3 from selenium.webdriver.support.wait import WebDriverWait
     4 from selenium.webdriver.support import expected_conditions as EC
     5 from selenium.webdriver.common.action_chains import ActionChains
     6 
     7 driver = webdriver.Chrome()
     8 driver.get("http://www.baidu.com")
     9 
    10 wait = WebDriverWait(driver,20)
    11 
    12 setting_loc = (By.ID,'s-usersetting-top')
    13 wait.until(EC.visibility_of_element_located(setting_loc))
    14 ele = driver.find_element(*setting_loc)
    15 
    16 # 启动鼠标操作
    17 ac = ActionChains(driver)
    18 ac.move_to_element(ele)  # 鼠标移动到设置元素上
    19 # 执行鼠标操作
    20 ac.perform()
    21 
    22 search_loc = (By.XPATH,'//a[text()="高级搜索"]')
    23 wait.until(EC.visibility_of_element_located(search_loc))
    24 driver.find_element(*search_loc).click()   # 点击高级搜索按钮
  • 相关阅读:
    webpack source map
    webpack 多页面应用打包
    webpack 资源内联
    webpack 移动端 CSSpx 自动转换成 rem
    webpack postcss插件
    css实现banner背景图上文字效果+
    css实现标题下划线效果
    Day 88 Django_DRF 序列化
    Day 87 VUE——xmall_front 案例
    Day 86 VUE——Vuex
  • 原文地址:https://www.cnblogs.com/yif930916/p/14794648.html
Copyright © 2011-2022 走看看