在 www.instagram.com 上 Python/Selenium 接受 cookie 错误

Accepting cookies error with Python/Selenium on www.instagram.com

我正在尝试使用 Firefox,使用以下代码使用 Python Selenium 登录 Instagram:

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()

每次我 运行 它都会正确打开一个新的网络浏览器 window,填写用户名和密码条目,但最后,我收到以下错误消息:

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

我认为这是因为上面的代码没有处理接受 cookie 的弹出窗口。下面是自动填写的用户名和密码字段的屏幕截图。有谁知道如何自动接受这些cookies?

P.S。我试过 Python/Selenium - Cant click' Accept cookies' button on www.instagram.com 中的答案,但没有成功。

我也在做这件事,但遇到了一些困难。 此命令在弹出的 cookie 上找到“接受”按钮:

find_element_by_xpath("//button[text()='Accept']")

登录后提示2个弹出窗口:1个保存登录信息,1个允许在浏览器上通知。 “#not now”之后的行以相同的方式处理它们

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()