Erro de aceitação de cookies com Python / Selenium em www.instagram.com
Estou tentando, usando o Firefox, fazer login no Instagram usando Python Selenium usando o seguinte código:
from time import sleep
from selenium import webdriver
browser = webdriver.Firefox()
browser.implicitly_wait(5)
browser.get('https://www.instagram.com/')
sleep(2)
username_input = browser.find_element_by_css_selector("input[name='username']")
password_input = browser.find_element_by_css_selector("input[name='password']")
username_input.send_keys("<your username>")
password_input.send_keys("<your password>")
login_button = browser.find_element_by_xpath("//button[@type='submit']")
login_button.click()
sleep(5)
browser.close()
Sempre que o executo, ele abre corretamente uma nova janela do navegador da web, preenche as entradas de nome de usuário e senha, mas, no final, recebo a seguinte mensagem de erro:
ElementClickInterceptedException: Message: Element <button class="sqdOP L3NKy y3zKF " type="submit"> is not clickable at point (844,327) because another element <div class="piCib"> obscures it
Eu acho que é devido ao fato de que há um pop-up de aceitação de cookies que meu código acima não está lidando. Uma captura de tela com os campos de nome de usuário e senha preenchidos automaticamente pode ser vista abaixo. Alguém sabe aceitar esses cookies automaticamente?
PS Eu tentei a resposta em Python / Selenium - Não consigo clicar no botão 'Aceitar cookies' em www.instagram.com , mas sem sorte.
Obrigado!
Marioanzas
Respostas
Eu também estava trabalhando nisso e tive um pouco de dificuldade. Este comando encontra o botão "Aceitar" no pop-up de cookies:
find_element_by_xpath("//button[text()='Accept']")
Após o login, aparecem mais 2 pop-ups: 1 para salvar as informações de login, 1 para permitir notificações no navegador. As linhas após "# não agora" cuidam deles da mesma maneira
from time import sleep
from selenium import webdriver
browser = webdriver.Firefox()
browser.implicitly_wait(5)
browser.get('https://www.instagram.com/')
sleep(2)
# cookie
cookie_button = browser.find_element_by_xpath("//button[text()='Accept']")
cookie_button.click()
username_input = browser.find_element_by_css_selector("input[name='username']")
password_input = browser.find_element_by_css_selector("input[name='password']")
username_input.send_keys("<your username>")
password_input.send_keys("<your password>")
login_button = browser.find_element_by_xpath("//button[@type='submit']")
login_button.click()
sleep(3)
# not now
save_login_info_button= browser.find_element_by_xpath("//button[text()='Not Now']")
save_login_info_button.click()
sleep(3)
notification_button= browser.find_element_by_xpath("//button[text()='Not Now']")
notification_button.click()
browser.close()