I have a scraping bot which I want to stop whenever it encounters a captcha, so not to annoy the websites. But selenium can\'t find it
driver.find_element_by_xpa
AFAIK, captcha usually located inside an iframe, so you can try to switch to iframe
before searching for required element:
frame = driver.find_element_by_xpath('//iframe[contains(@src, "recaptcha")]')
driver.switch_to.frame(frame)
driver.find_element_by_xpath("//*[@id='recaptcha-anchor']")
If you need to switch back from iframe
:
driver.switch_to.default_content()