• selenium之 下拉选择框Select


    原文链接:https://www.cnblogs.com/xingyunqiu/p/11547235.html

    下拉列表操作中分为两种:select、非select

    1、非select的下拉框操作

    非select下拉列表操作与网页元素操作一致,找到元素,定位元素,设置等待,点击元素等等

    接下来操作百度的设置按钮,设置属于一个下拉框

    举个栗子:

    from selenium import webdriver
    from selenium.webdriver.support.wait import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    
    # 创建一个Chrome对象
    driver = webdriver.Chrome()
    # 访问百度
    driver.get('http://baidu.com')
    # 非select下拉框操作
    # 找到百度首页的设置按钮
    driver.find_element_by_xpath('//div[@id="u1"]//a[@class="pf"]').click()
    # 等待下拉框的出现
    loc = (By.XPATH, '//a[text()="高级搜索"]')
    WebDriverWait(driver, 10).until(EC.visibility_of_element_located(loc))
    driver.find_element_by_xpath('//a[text()="高级搜索"]').click()
    
    # 退出浏览器
    driver.quit()

     2、select下拉框操作:

    接下来演示select下拉框操作;继续使用百度设置-高级搜索页面来演示,继续接上边代码继续写

    selenium中有一个select类,用来操作select下拉列表

    举个栗子:操作下图标红的下拉框

     代码如下:

    from selenium import webdriver
    from selenium.webdriver.support.wait import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.select import Select
    import time
    
    
    # 创建一个Chrome对象
    driver = webdriver.Chrome()
    # 访问百度
    driver.get('http://baidu.com')
    # 非select下拉框操作
    # 找到百度首页的设置按钮
    driver.find_element_by_xpath('//div[@id="u1"]//a[@class="pf"]').click()
    # 等待下拉框的出现
    loc = (By.XPATH, '//a[text()="高级搜索"]')
    WebDriverWait(driver, 10).until(EC.visibility_of_element_located(loc))
    driver.find_element_by_xpath('//a[text()="高级搜索"]').click()
    
    # 设置等待,等待select下拉框出现
    select_loc = (By.XPATH, '//select[@name="ft"]')
    WebDriverWait(driver, 10).until(EC.visibility_of_element_located(select_loc))
    ele = driver.find_element(*select_loc)
    
    s = Select(ele)
    # 以下标的方法定位下拉框中的元素
    s.select_by_index(3)
    time.sleep(2)
    # 以value属性的方式定位下拉框的元素
    s.select_by_value('pdf')
    time.sleep(2)
    # 以文本的方式定位下拉框元素
    s.select_by_visible_text('所有格式')
    time.sleep(2)
    
    # 退出浏览器
    driver.quit()

    。。。。。。。。。。。。。。。。。。。。。。。。。

  • 相关阅读:
    JS数组常用方法参考---5、sort方法
    JS数组常用方法---1、课程介绍
    JS数组常用方法参考---4、unshift方法
    JS数组常用方法参考---3、队列对应的方法
    ES6课程---12、面向对象
    legend3---30、不同类型的网站打包方案
    数据库Sharding的基本思想和切分策略
    用sharding技术来扩展你的数据库(一)sharding 介绍
    什么是Scale Up和Scale Out?
    淘宝网采用什么技术架构来实现网站高负载的
  • 原文地址:https://www.cnblogs.com/yimai-series/p/13167551.html
Copyright © 2020-2023  润新知