实现思路
- 需要引入ActionChains类
- 然后定位相关元素
- 在ActionChains().调用相关鼠标操作方法
相关方法
- context_click() 右击
- double_click () 单击
- move_to_element() 鼠标悬停
鼠标操作
代码语言:javascript复制from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep
driver=webdriver.Firefox()
driver.get("http://www.baidu.com")
driver.maximize_window()
driver.find_element_by_css_selector("#kw").send_keys("Python")
# 获取搜索框元素对象
element=driver.find_element_by_css_selector("#kw")
sleep(3)
#双击操作
ActionChains(driver).double_click(element).perform()
sleep(2)
#右击操作
ActionChains(driver).context_click(element).perform()
sleep(3)
#鼠标悬停
above=driver.find_element_by_css_selector(".pf")
ActionChains(driver).move_to_element(above).perform()
sleep(4)
driver.quit()
键盘操作
测试案例
- 在百度搜索关键词“Python”
- 然后将关键词复制或剪切到搜狗搜索框进行搜索
代码实现
代码语言:javascript复制from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
driver=webdriver.Firefox()
driver.get("http://www.baidu.com")
driver.find_element_by_css_selector("#kw").send_keys("Python")
sleep(2)
#键盘全选操作 Ctrl A
driver.find_element_by_css_selector("#kw").send_keys(Keys.CONTROL,'a')
#键盘选择复制或剪切操作 Ctrl C
driver.find_element_by_css_selector("#kw").send_keys(Keys.CONTROL,'c')
driver.find_element_by_css_selector("#kw").send_keys(Keys.CONTROL,'x')
#打开搜狗页面
driver.get("http://www.sogou.com/")
sleep(2)
#粘贴复制内容
driver.find_element_by_css_selector(".sec-input").send_keys(Keys.CONTROL,'v')
sleep(2)
#点击搜索按钮
# driver.find_element_by_xpath("//input[@id='stb']").click()
driver.find_element_by_css_selector("#stb").click()
sleep(3)
driver.quit()
滚动条控制
selenium可以模拟人工上下滑动进度条的操作。
实践案例
案例1:
打开我要自学网页面,然后将滚动条拖到最底部,然后再拖到顶部
代码语言:javascript复制from selenium import webdriver
from time import sleep
driver=webdriver.Firefox()
driver.get("http://www.51zxw.net/")
sleep(2)
#将滚动调拖到最底部
js="var action=document.documentElement.scrollTop=10000"
driver.execute_script(js)
sleep(2)
#将滚动条拖到最顶部
js="var action=document.documentElement.scrollTop=0"
driver.execute_script(js)
sleep(3)
driver.quit()
案例2:
分别打开我要自学网页面和百度页面,然后进行截图
代码语言:javascript复制from selenium import webdriver
from time import sleep
#加载浏览器驱动
driver=webdriver.Firefox()
#打开自学网页面并截图
driver.get("http://www.51zxw.net")
driver.get_screenshot_as_file(r"E:Python_script51zxw.jpg")
#打开百度页面并截图
driver.get("http://www.baidu.com")
driver.get_screenshot_as_file(r"E:Python_scriptbaidu.png")
sleep(2)
driver.quit()
更多干货
- Webdriver简介
- Selenium 元素checkbox元素操作与元素等待
- 8.9 Selenium元素定位方式
- Appium连续滑动操作——九宫格滑动
- Appium Android Toast元素识别
- Android H5元素定位
- Mac 环境Appium自动化测试环境搭建
- 众里寻他千百度—Appium Android 元素定位方式
- Android自动化测试设备弹窗处理
- Ubuntu Docker STF环境搭建
- Mac OS环境搭建STF
- Python自动化日志收集
- Appium参数配置—yaml