selenium+python自動化79-文件下載(SendKeys)


前言

文件下載時候會彈出一個下載選項框,這個彈框是定位不到的,有些元素注定定位不到也沒關系,就當沒有鼠標,我們可以通過鍵盤的快捷鍵完成操作。

SendKeys庫是專業的處理鍵盤事件的,所以這里需要用SendKeys解決

 

只支持python2環境

python3 的用 PyUserInput 看這篇 selenium+python自動化85-python3.6上SendKeys報錯用PyUserInput取代

 

一、下載場景

1.當點到下載按鈕時候,會彈出如下頁面

2.如果想點“保存文件”按鈕,解決問題思路:

- 先按TAB鍵,移動光標聚焦到保存按鈕上

- 再按下ENTER鍵,這樣就能保存了

 

二、代碼實現

# coding:utf-8
from selenium import webdriver
import SendKeys
import time

driver = webdriver.Firefox()
driver.get("https://www.autoitscript.com/files/autoit3/autoit-v3-setup.exe")

time.sleep(3)
# 默認在取消按鈕上,先切換到保存文件上
SendKeys.SendKeys("{TAB}")  # 發送TAB鍵

time.sleep(3)
# 火狐上第一次回車沒生效,所以多發一次回車
SendKeys.SendKeys("{ENTER}")   # 發送回車鍵
SendKeys.SendKeys("{ENTER}")   # 發送回車鍵

學習過程中有遇到疑問的,可以加selenium(python+java) QQ群交流:646645429

也可以關注下我的個人公眾號:

《selenium webdriver基於python源碼案例》已出書:selenium webdriver基於Python源碼案例(購買此書送對應PDF版本)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM