[问题] 如何使用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