實作思路
- 需要引入ActionChains類
- 然後定位相關元素
- 在ActionChains().調用相關滑鼠操作方法
相關方法
- context_click() 右擊
- double_click () 單擊
- move_to_element() 滑鼠懸停
滑鼠操作
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”
- 然後将關鍵詞複制或剪切到搜狗搜尋框進行搜尋
代碼實作
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:
打開我要自學網頁面,然後将滾動條拖到最底部,然後再拖到頂部
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:
分别打開我要自學網頁面和百度頁面,然後進行截圖
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_script\51zxw.jpg")
#打開百度頁面并截圖
driver.get("http://www.baidu.com")
driver.get_screenshot_as_file(r"E:\Python_script\baidu.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