ยอมรับข้อผิดพลาดคุกกี้กับ Python / Selenium บน www.instagram.com
ฉันพยายามใช้ Firefox เข้าสู่ระบบ Instagram โดยใช้ Python Selenium โดยใช้รหัสต่อไปนี้:
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
ฉันคิดว่าเป็นเพราะมีป๊อปอัปการยอมรับคุกกี้ที่รหัสด้านบนของฉันไม่ได้จัดการ ภาพหน้าจอที่มีช่องชื่อผู้ใช้และรหัสผ่านที่กรอกโดยอัตโนมัติสามารถดูได้ด้านล่าง ไม่มีใครรู้วิธียอมรับคุกกี้เหล่านี้โดยอัตโนมัติ?
ป.ล. ฉันได้ลองคำตอบในPython / Selenium แล้ว - ไม่สามารถคลิกปุ่ม 'ยอมรับคุกกี้' บน www.instagram.comได้ แต่ด้วยโชคไม่ดี
ขอบคุณ!
Marioanzas
คำตอบ
ฉันก็ทำงานนี้เหมือนกันและมีปัญหาเล็กน้อย คำสั่งนี้จะพบปุ่ม "ยอมรับ" บนคุกกี้ป๊อปอัป:
find_element_by_xpath("//button[text()='Accept']")
หลังจากล็อกอินแล้วจะมีป๊อปอัปอีก 2 รายการ: 1 เพื่อบันทึกข้อมูลการเข้าสู่ระบบ 1 เพื่ออนุญาตการแจ้งเตือนบนเบราว์เซอร์ บรรทัดหลัง "# ไม่ใช่ตอนนี้" ดูแลพวกเขาในลักษณะเดียวกัน
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()