[問題] 如何使用Selenium通過Dcard登入人類驗證

作者: hateli (kk)   2023-09-09 14:46:21
各位前輩好
最近想爬一些Dcard的資料
以及測試用Dcard自動發文
目前在登入時會出現人類驗證
我試圖用Selenium抓框框的Xpath去Click
https://imgur.com/a/WUPFqSV
browser = webdriver.Chrome()
url = 'https://www.dcard.tw/'
browser.get(url)
time.sleep(5)
browser.find_element_by_xpath('//*[@id="challenge-stage"]/div/label/map/img').cl
ick()
但是卻會報錯如下(full Xpath也一樣):
Message: no such element: Unable to locate element: {"method":"xpath","selector"
:"//*[@id="challenge-stage"]/div/label/map/img"}
雖然可能是很基本的問題
由於身邊朋友也非程式專業
問了一輪沒答案因此上來求助看看
第一次發問若有不清楚處再請告訴我
謝謝!
作者: CodingMan (程式俠)   2023-09-09 17:58:00
換 ip 有用嗎?
作者: Woqeker (窩顆ker)   2023-09-09 20:05:00
框框應該會等一小段時間才會出現?那麼簡陋的 code 我是不覺得可以破解人機驗證啦w
作者: lycantrope (阿寬)   2023-09-09 21:32:00
cloudfare有這麼簡單嗎w
作者: tzouandy2818 (Naked Bear)   2023-09-10 12:23:00
還不如先換header看看
作者: khsjds (如意)   2023-09-10 20:42:00
可以用 implicit/explicit wait,印象中會轉不固定時間所以可以的話再用 while, try/catch結合
作者: hateli (kk)   2023-09-11 01:47:00
感謝大家回覆,我用不同的sleep秒數測試過,似乎好像不是出現時間的問題,儘管出現框框了依舊是沒辦法抓到
作者: SIMD (丹丹指令流)   2023-09-11 19:16:00
cloudflare放棄吧 會解也不會發問了

Links booklink

Contact Us: admin [ a t ] ucptt.com