zoukankan      html  css  js  c++  java
  • selenium 常见操作,下拉列表操作

    1、定位鼠标悬浮才出现得元素。ctrl+shift+c小技巧。

    2、下拉列表包括:非 select 元素 和 select 元素两种

      非 select 元素:通过文本值定位元素,建议直接进行点击操作

      下拉列表未显示属性值为:display:none

      下拉列表显示属性值为:display: block

    3、select类,下拉框操作  :selenium 提供了select类来处理select /option

    引入类:

    from selenium.webdriver.support.ui import Select

    选择下拉列表值得方法:

    1、通过下标选择:select_by_index(index) 从0开始;

    2、通过value属性:select_by_value(value值)

    3、通过文本内容:select_by_visible_text(文本内容)

    from selenium.webdriver.support.ui import Select
    from selenium.webdriver.common.action_chains import ActionChains
    from selenium.webdriver.support.wait import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    import time
    #启动谷歌浏览器,开启与浏览器之间的绘话,会话周期:打开浏览器到关闭浏览器。
    driver = webdriver.Chrome(service_log_path='E:柠檬班二chromedriver_service.log')
    #全局等待,隐性等待,如果不加等待,页面弹窗上可能找不到用户名密码这个元素
    driver.implicitly_wait(30)
    #访问一个网页
    driver.get("https://www.baidu.com")
    driver.maximize_window()
    #1、先找到鼠标要操作的元素
    ele = driver.find_element_by_xpath('//div[@id="u1"]//a[@name="tj_settingicon"]')
    #2、实例化ActionChains类
    #ac = ActionChains(driver)
    #3、将鼠标操作添加到actions列表中
    #ac.move_to_element(ele)
    #4、调用perform来执行鼠标操作
    #ac.perform()
    
    #让下拉框显示出来
    ActionChains(driver).move_to_element(ele).perform()
    #选择下拉列表当中选择高级搜索
    WebDriverWait(driver,20).until(EC.visibility_of_element_located((By.XPATH,'//a[text()="高级搜索"]')))
    driver.find_element_by_xpath('//a[text()="高级搜索"]').click()
    
    #1、select类列表
    WebDriverWait(driver,20).until(EC.visibility_of_element_located((By.XPATH,'//select[@name="ft"]')))
    select_ele = driver.find_element_by_xpath('//select[@name="ft"]')
    #2、实例化select类
    s = Select(select_ele)
    #3、方式一:下标重0开始
    s.select_by_index(4)
    #4、方式二:value值
    s.select_by_value("ppt")
    #5、方式三:
    s.select_by_visible_text("微软 Powerpoint (.ppt)")

  • 相关阅读:
    JVM学习笔记(三)------内存管理和垃圾回收【转】
    JVM学习笔记(二)------Java代码编译和执行的整个过程【转】
    JVM学习笔记(一)------基本结构【转】
    Java程序编译和运行的过程【转】
    linux C判断文件是否存在【转】
    Java编译那些事儿【转】
    CTSC1999补丁VS错误题解
    ASP.NET MVC学前篇之Ninject的初步了解
    setSingleChoiceItems和setPositiveButton两者触发时期
    B. Sereja and Mirroring
  • 原文地址:https://www.cnblogs.com/wuzm/p/12422110.html
Copyright © 2011-2022 走看看