Selenium之滑鼠懸浮,視窗切換,截圖
阿新 • • 發佈:2021-06-19
Selenium之滑鼠懸浮
import time from selenium import webdriver from selenium.webdriver import ActionChains driver = webdriver.Chrome() # driver.get('https://www.cnblogs.com/TodayWind/') # 懸浮 # ActionChains(driver).move_to_element(driver.find_element_by_id('Header1_HeaderTitle')).perform() # perform代表執行的意思 # 拖拽 driver.get("https://www.jq22.com/demo/pintu20151229/") time.sleep(1) driver.find_element_by_id('start').click() time.sleep(1) start = driver.find_element_by_xpath('//*[@id="container"]/div[3]') end = driver.find_element_by_xpath('//*[@id="container"]/div[14]') ActionChains(driver).drag_and_drop(start, end).perform() # 滑鼠左鍵單擊 ActionChains(driver).click(driver.find_element_by_xpath('')).perform() # 滑鼠左鍵雙擊 ActionChains(driver).double_click(driver.find_element_by_xpath('')).perform() # 滑鼠右鍵單擊 ActionChains(driver).context_click(driver.find_element_by_xpath('')).perform()
視窗切換
from selenium import webdriver driver = webdriver.Chrome() driver.switch_to.window() # 切換視窗 driver.switch_to.frame() # 進入iframe彈框 driver.switch_to.default_content() # 退出iframe # window_handles # 視窗陣列
截圖
from selenium import webdriver from PIL import Image import time # 1. # 截全圖(非完整圖,螢幕100%的圖) a_img = './a.png' # 只能是png格式 b_img = './b.png' driver = webdriver.Chrome() driver.implicitly_wait(30) driver.get('http://www.baidu.com') driver.save_screenshot(a_img) # 2.只擷取驗證碼的圖片 # 獲取驗證碼的大小 imageCode = driver.find_element_by_id('imageCode') # 定位到圖片 print(imageCode.size) # 檢視圖片的大小 left = imageCode.location['x'] * 1.24 # * 1.24是因為瀏覽器縮放的問題 top = imageCode.location['y'] * 1.24 right = imageCode.size['width'] + left height = imageCode.size['height'] + top temp = Image.open(a_img) temp = temp.crop((left, top, right, height)) # 這裡是元組 temp.save(b_img) # 只擷取驗證碼的圖片 使用selenium 取巧擷取圖片 imageCode = driver.find_element_by_id('imageCode') # 定位到圖片 imageCode.screenshot(a_img)