Я действительно не могу найти элемент reCAPTCHA iframe. Похоже, это какая-то «безопасность». Кто-нибудь может мне помочь обойти это?
- Да, я перехожу на капчу iframe
- Да, Я пробовал использовать wait_for_element
- Да, я пытался найти его по дочерним элементам с помощью такого дурацкого кода:
for element in child_elements:
if element.find_element(By.ID, "recaptcha-verify-button"):
print('FOUND!')
На самом деле единственный способ для драйвера или js найти элементы — это проверить HTML-код через chrome/firefox/whatever.. dev. инструменты, и после этого он действительно сможет их увидеть.
скриншот HTML-кода
recaptcha = self.driver.wait_for_element((By.CSS_SELECTOR, 'iframe[src*=\'https://www.google.com/recaptcha\']'))
self.driver.instance.switch_to.frame(recaptcha)
self.driver.find_element(By.ID, "recaptcha-verify-button") # always None even if I am trying to find it like in example below:
body_element = self.driver.wait_for_element((By.TAG_NAME, 'body'))
body_element.find_element(By.ID, "recaptcha-verify-button") # still None
Подробнее здесь: https://stackoverflow.com/questions/791 ... elenium-js
Мобильная версия