zoukankan      html  css  js  c++  java
  • select下拉框,二次定位

    使用二次定位:
    1.定位select里的选项有多种方式,这里先介绍一种简单的方法:二次定位
    2.基本思路,先定位select框,再定位select里的选项
    3.代码如下
    from selenium import webdriver
    from selenium.webdriver.common.action_chains import ActionChains
    import time
    driver=webdriver.Chrome()
    driver.get('https://www.baidu.com/')
    driver.implicitly_wait(10) #隐式等待10秒
    mouse=driver.find_element_by_link_text('设置') #鼠标移动到“设置”按钮
    ActionChains(driver).move_to_element(mouse).perform()
    driver.find_element_by_link_text('搜索设置').click() #点击“搜索设置” #强制等待4秒,注意:这里使用隐式等待或显示等待都将无法获取元素
    time.sleep(4)#分两步,先定位下拉框,再点击选项
    choice = driver.find_element_by_name("NR")
    choice.find_element_by_xpath('//*[@id="nr"]/option[2]').click()
    time.sleep(2)
    driver.quit()


    使用Select模块(index)
    1.除了上面介绍的两种简单的方法定位到select选项,selenium还提供了更高级的玩法,导入Select模块。直接根据属性或索引定位。
    2.先要导入select方法: from selenium.webdriver.support.select import Select
    3.然后通过select选项的索引来定位选择对应选项(从0开始计数),如选择第三个选项:select_by_index(2)

    from selenium import webdriver
    from selenium.webdriver.common.action_chains import ActionChains
    import time#导入select方法
    from selenium.webdriver.support.select import Select
    driver=webdriver.Chrome()
    driver.get("https://www.baidu.com/")
    driver.implicitly_wait(10) #隐式等待10秒
    mouse=driver.find_element_by_link_text("设置") #鼠标移动到"设置"按钮
    ActionChains(driver).move_to_element(mouse).perform()
    driver.find_element_by_link_text("搜索设置").click() #点击"搜索设置"
    time.sleep(3) #强制等待4秒,注意:这里使用隐式等待或显式等待都将无法获取元素
    choice = driver.find_element_by_name("NR")
    # 使用Select().select_by_index进行定位
    # Select(choice).select_by_index(2)
    # Select(choice).select_by_value('20') #Select模块里面除了index的方法,还有一个方法,通过选项的value值来定位:
    Select(choice).select_by_visible_text ("每页显示50条")#Select模块里面还有一个更加高级的功能,可以直接通过选项的文本内容来定位
    time.sleep(2)
    driver.quit()


    6. 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()   :返回所有的选项
  • 相关阅读:
    抽象工厂模式
    外观模式
    策略模式
    状态模式
    观察者模式
    装饰者模式
    模板方法模式
    适配器模式
    中介者模式
    组合模式
  • 原文地址:https://www.cnblogs.com/zpdbkshangshanluoshuo/p/10441972.html
Copyright © 2011-2022 走看看