首页 > Web开发 > 详细

Selenium中web三大操作(鼠标操作、下拉列表操作、按键操作)

时间:2020-03-09 09:14:04      阅读:106      评论:0      收藏:0      [点我收藏+]

一、鼠标操作

参数都是元素对象,除了与坐标有关的函数外;

函数名:ActionChains 动作链

常见的鼠标操作:

1)悬浮 move_to_element
2)点击 click
3)双击 double_click
4)右键 context_click
5)拖拽 drag_and_drop
6)暂停 pause
7)输入 send_keys

操作步骤:

1)将要执行所有鼠标的动作,先放到一个列表当中。

2)perform() : 执行鼠标动作。

示例:

 1 示例:
 2 在百度首页中的设置中找到高级设置((鼠标悬浮在设置上后出现高级设置))
 3 
 4 import time
 5 
 6 from selenium import webdriver
 7 from selenium.webdriver.common.action_chains import ActionChains
 8 from selenium.webdriver.common.by import By
 9 from selenium.webdriver.support.wait import WebDriverWait
10 from selenium.webdriver.support import expected_conditions as EC
11 
12 driver = webdriver.Chrome()
13 driver.maximize_window()
14 driver.get("https://www.baidu.com/")
15 
16 # 1、找到鼠标要操作的元素(百度首页的设置)
17 loc = (By.XPATH, //div[@id="u1"]//a[@name="tj_settingicon"])
18 ele = driver.find_element(*loc)
19 ele.click()
20 
21 # 2、实例化Actonchains类
22 ac = ActionChains(driver)
23 
24 # 3、调用鼠标行为(悬浮)
25 ac.move_to_element(ele)
26 
27 # 4、调用perform()来执行鼠标动作
28 ac.perform()
29 time.sleep(2)
30 
31 # # 注: 若将2、3、4操作结合到一起
32 # ActionChains(driver).move_to_element(ele).perform()
33 
34 # 5、等待 下拉列表中元素可见
35 loc2 = (By.XPATH, //a[text()="高级搜索"])
36 WebDriverWait(driver, 10).until(EC.visibility_of_element_located(loc2))
37 
38 # 6、选择想要操作的元素
39 # 触发高级搜索内容出现
40 driver.find_element(*loc2).click()

 

二、下拉列表操作(Select类)

使用Select类进行操作

1)初始化,传select对象;

2)根据下标、value属性、文本内容来选择值;

示例:

上面案例的基础上操作(对百度高级设置中的文件格式下拉框进行选择操作)

 1 from selenium.webdriver.support.select import Select
 2 
 3 # 1、初始化,传select对象
 4 loc3 = (By.XPATH, //select[@name="ft"])
 5 WebDriverWait(driver, 10).until(EC.visibility_of_element_located(loc3))
 6 select_element = driver.find_element(*loc3)
 7 
 8 s = Select(select_element)
 9 
10 # 2、根据下标 value属性、文本内容来选择值
11 # 根据下标选值
12 s.select_by_index(6)
13 time.sleep(3)
14 # 根据value属性选值
15 s.select_by_value("doc")
16 time.sleep(3)
17 # 根据文件内容选值
18 s.select_by_visible_text(RTF 文件 (.rtf))
19 time.sleep(3)
20 
21 # 3、关闭会话
22 time.sleep(5)
23 driver.quit()

 

三、键盘操作(Keys类)

Keys类中处理特殊键

示例:

在百度首页找到搜索输入框,输入内容后,点击百度一下的鼠标操作使用enter键替代

 1 import time
 2 from  selenium import webdriver
 3 from  selenium.webdriver.common.keys import  Keys
 4 
 5 # 1、打开访问百度首页
 6 driver = webdriver.Chrome()
 7 driver.maximize_window()
 8 driver.get("http://www.baidu.com")
 9 # 2、找到搜索输入框,输入selenium webdriver,按enter键进行搜索
10 element = driver.find_element_by_id("kw")
11 element.send_keys("selenium webdriver", Keys.ENTER)
12 element.send_keys(Keys.CONTROL,"c")
13 
14 # 3、关闭会话
15 time.sleep(5)
16 driver.quit()

 

Selenium中web三大操作(鼠标操作、下拉列表操作、按键操作)

原文:https://www.cnblogs.com/forayepy/p/12446168.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!