最簡(jiǎn)單的selenium+Python自動(dòng)右鍵保存圖片

[toc]
最近需要爬古籍影印版圖片,但是對(duì)方網(wǎng)站有反爬蟲,于是考慮用selenium,selenium比想象中的簡(jiǎn)單。右鍵的難點(diǎn)在于在元素上執(zhí)行右鍵之后,selenium就不能操作菜單了。
所以需要?jiǎng)e的辦法,有的使用autoit第三方軟件,比較繁瑣;有的用Python的win32庫(kù),垃圾;找到了一個(gè)非常好的解決方案,用pyautogui庫(kù),這個(gè)庫(kù)是對(duì)win32的封裝,發(fā)送按鍵簡(jiǎn)單粗暴,比selenium的發(fā)送按鍵還要人性化,點(diǎn)贊。代碼如下。
安裝pyautogui

pip install autogui

代碼如下

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
import pyautogui
from time import sleep
# 代碼的健壯性

driver = webdriver.Chrome('d:/coding/chromedriver.exe')  # Optional argument, if not specified will search path.
driver.get('http://www.itdecent.cn/');
# 選擇元素
wait = WebDriverWait(driver,10)
# 右鍵單擊圖片
img = wait.until(EC.element_to_be_clickable((By.TAG_NAME,'img')))
# 執(zhí)行鼠標(biāo)動(dòng)作
actions = ActionChains(driver)
# 找到圖片后右鍵單擊圖片
actions.context_click(img)
actions.perform()
# 發(fā)送鍵盤按鍵,根據(jù)不同的網(wǎng)頁(yè),
# 右鍵之后按對(duì)應(yīng)次數(shù)向下鍵,
# 找到圖片另存為菜單
pyautogui.typewrite(['down','down','down','down','down','down','down','enter','enter'])
# 單擊圖片另存之后等1s敲回車
sleep(1)
pyautogui.typewrite(['enter'])
按7次向下鍵找到圖片另存為選項(xiàng)

敲回車保存圖片

整個(gè)過(guò)程都是程序自動(dòng)運(yùn)行,這個(gè)就構(gòu)成了自動(dòng)下載圖片的基礎(chǔ)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容