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)")

原文地址:https://www.cnblogs.com/wuzm/p/12422110.html