Chấp nhận lỗi cookie với Python / Selenium trên www.instagram.com

Nov 16 2020

Tôi đang cố gắng sử dụng Firefox để đăng nhập Instagram bằng cách sử dụng Python Selenium bằng đoạn mã sau:

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

Mỗi khi tôi chạy nó, nó sẽ mở ra một cửa sổ trình duyệt web mới, điền vào các mục nhập tên người dùng và mật khẩu, nhưng cuối cùng, tôi nhận được thông báo lỗi sau:

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

Tôi nghĩ rằng đó là do thực tế là có một cửa sổ bật lên chấp nhận cookie mà mã của tôi ở trên không xử lý được. Bạn có thể xem ảnh chụp màn hình với các trường tên người dùng và mật khẩu được điền tự động bên dưới. Có ai biết cách chấp nhận những cookie này tự động không?

Tái bút Tôi đã thử câu trả lời bằng Python / Selenium - Không thể nhấp vào nút 'Chấp nhận cookie' trên www.instagram.com , nhưng không may mắn.

Cảm ơn!

Marioanzas

Trả lời

1 U_double_G Nov 29 2020 at 20:43

Tôi cũng đang làm việc này và có một chút đấu tranh. Lệnh này tìm thấy nút "Chấp nhận" trên cookie bật lên:

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

Sau khi đăng nhập, nó sẽ nhắc thêm 2 cửa sổ bật lên: 1 để lưu thông tin đăng nhập, 1 để cho phép thông báo trên trình duyệt. Các dòng sau "#not now" xử lý chúng theo cách tương tự

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