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(文本内容)

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

 

posted @   朱砂痣  阅读(1544)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示