簡體   English   中英

使用python使用硒提交驗證碼

[英]submitting captcha with selenium using python

這與如何從CATPCHA檢索文本無關

基本上我的問題是我從驗證碼中提取文本並在提供的框中輸入文本,並使用element.send_keys(Keys.RETURN)模擬“ return”鍵后,出現一個警告框,提示驗證碼錯誤,並且出現了新的驗證碼起來,盡管我可以驗證文本是否與驗證碼匹配。 我也嘗試過在“提交”按鈕上使用“點擊”操作,但沒有幫助。

我注意到的一件有趣的事情是,如果我自動執行直到輸入驗證碼文本的過程,然后按Enter /單擊Submit,一切正常。 因此,我認為模擬硒的返回/點擊過程中存在一些問題。 任何想法可能是什么問題。

僅出於記錄目的,我使用帶有pytesseract包裝器的tesseract OCR和python來解碼驗證碼,並且我在90%以上的情況下獲得了正確的文本輸出,所以這不僅僅是因為文本錯誤。 我還檢查了使用strip()方法刪除任何前導或尾隨空格。

您的腳本是正確的,您只需要在提交最終表單之前插入time.sleep(5)https : //gist.github.com/pratyushmittal/68f67c20e4fb6f0cd072/5b9bec7de5e8fadd65a22e729015fc89de6dfca8

頁面加載完成后,Selenium會提交驗證碼表單。 在當前情況下,網站將其標記為機器人活動並顯示錯誤。

或者,您也可以使用RoboBrowser不含硒(盡管這也需要sleep ): https ://gist.github.com/pratyushmittal/68f67c20e4fb6f0cd072/c65742ce78631058378c91ee89d0508874ea7ace

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM