我正在尝试使用 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()
每次运行它时,它都会正确打开一个新的网络浏览器窗口,填写用户名和密码条目,但最终我收到以下错误消息:
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
我认为这是因为我上面的代码没有处理一个 cookies 接受弹出窗口。下面可以看到自动填写的用户名和密码字段的屏幕截图。有谁知道如何自动接受这些cookie?
附:我已经尝试过答案Python/Selenium - 无法点击 www.instagram.com 上的“接受 cookies”按钮 https://stackoverflow.com/questions/64271467/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()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)