web自動化10-視窗截圖、驗證碼處理
阿新 • • 發佈:2022-03-23
視窗截圖
1、是什麼
說明:把當前操作的頁面,截圖儲存到指定位置
2、程式碼中怎麼使用?
說明:在Selenium中,提供了截圖方法,我們只需要呼叫即可
方法:
driver.get_screenshot_as_file(imgpath)
imgpath:圖片儲存路徑
注意事項:
1、預設使用png格式,.jpg可以使用,但是會有警告
2、指定圖片存放檔案路徑,需要先手動建立資料夾
3、直接看需求:
開啟微博首頁,完成以下操作 1). 點選立即註冊,填寫註冊資訊手機、密碼、生日 2). 截圖儲存
cookie
1、驗證碼: 一種隨機生成的資訊(數字、字母、漢字、圖片、算術題)等為了防止惡意的請求行為,增加應用的安全性。 2、驗證碼的處理方式: 方式: 1). 去掉驗證碼 (測試環境下-採用) 2). 設定萬能驗證碼 (生產環境和測試環境下-採用) 3). 驗證碼識別技術 (通過Python-tesseract來識別圖片型別驗證碼;識別率很難達到100%) 4). 記錄cookie (通過記錄cookie進行跳過登入) 3、 cookie是什麼?- Cookie是由Web伺服器生成的,並且儲存在使用者瀏覽器上的小文字檔案,它可以包含使用者相關的資訊。
- Cookie資料格式:鍵值對組成(python中的字典)
- Cookie產生:客戶端請求伺服器,如果伺服器需要記錄該使用者狀態,就向客戶端瀏覽器頒發一個Cookie資料
- Cookie使用:當瀏覽器再次請求該網站時,瀏覽器把請求的資料和Cookie資料一同提交給伺服器,伺服器檢查該Cookie,以此來辨認使用者狀態。
需求:使用cookie實現跳過登入1). 手動登入百度,獲取cookie 2). 使用獲取到的cookie,達到登入目的,然後就可以執行登入之後的操作
解決:
from selenium import webdriver import time driver = webdriver.Firefox() driver.get("https://www.baidu.com") driver.add_cookie({'name':'BDUSS','value':'根據實際填寫'}) time.sleep(3) driver.refresh() time.sleep(3) driver.quit()