簡體   English   中英

使用 selenium 和 python 提交 reCAPTCHA v2 - 沒有表單提交按鈕

[英]Submitting reCAPTCHA v2 with selenium and python - no form submit button

所以我最近注冊了反驗證碼,並一直在使用https://github.com/ad-m/python-anticaptcha/blob/master/examples/recaptcha_selenium.py腳本進行測試。

我無法通過沒有提交按鈕(隱藏或可見)的 reCAPTCHA,也沒有明確的提交驗證方式。 我用過防驗證碼firefox插件,所以知道可以通過。 但我被困在自己手動執行此操作的地步。

我認為將是一個有用的答案,但它並沒有深入 go。 我能夠獲得 job.get_solution_response() 令牌並將其輸入到所需的textfield ,但我無法提交“表單”。

有人在這方面取得成功嗎? 我也希望在瀏覽器的無頭版本中執行此操作。 基於無頭與非無頭的解決方案會有所不同嗎?

順便說一句,realtor(dot)com 是我遇到問題的網站。 如果我不大聲張貼這個網站,請讓我知道,以便我可以刪除它。

我回到該站點的源代碼,發現他們正在使用 function 作為驗證回調...

我看到他們正在使用一個名為solvedCaptcha 的solvedCaptcha並注入一個變量名payload 所以這是我解決它的方法:

注意:確保驅動程序當前位於 reCAPTCHA 頁面上。

driver.execute_async_script("var payload = '<enter the job.get_solution_response() here>'; solvedCaptcha(payload);")

然后,此異步腳本調用頁面的驗證並重新加載被阻止的 window。

注意:此驗證碼沒有提交按鈕,也沒有放在表單中。 所以在驅動程序中的一個項目上使用.submit()是行不通的。

嘗試將 \n 或 Keys.Enter 的密鑰發送到文本字段。 這是我在項目中的解決方案。 這也是通用的

暫無
暫無

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

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