Python selenium和captch

2024-05-15 19:14:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个刮擦机器人,我想停止每当它遇到一个验证码,所以不打扰网站。但是硒找不到

driver.find_element_by_xpath("//*[@id='recaptcha-anchor']")

这是chrome给我的xpath。

错误

NoSuchElementException: Unable to locate element: {"method":"xpath","selector":"//*[@id='recaptcha-anchor']"}

你知道为什么这样不行吗?


Tags: idby网站driver错误机器人elementfind
1条回答
网友
1楼 · 发布于 2024-05-15 19:14:09

AFAIK,验证码通常位于^{}内,因此在搜索所需元素之前,可以尝试切换到iframe

frame = driver.find_element_by_xpath('//iframe[contains(@src, "recaptcha")]')
driver.switch_to.frame(frame)
driver.find_element_by_xpath("//*[@id='recaptcha-anchor']")

如果需要从iframe切换回:

driver.switch_to.default_content()

相关问题 更多 >