1. 程式人生 > 其它 >Selenium之滑鼠懸浮,視窗切換,截圖

Selenium之滑鼠懸浮,視窗切換,截圖

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)