Python / Selenium ile çerezleri kabul etme hatası www.instagram.com

Nov 16 2020

Firefox kullanarak, aşağıdaki kodu kullanarak Python Selenium kullanarak Instagram'da oturum açmaya çalışıyorum:

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

Her çalıştırdığımda, yeni bir web tarayıcısı penceresini doğru bir şekilde açar, kullanıcı adı ve şifre girişlerini doldurur, ancak sonunda aşağıdaki hata mesajını alıyorum:

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

Sanırım bunun nedeni, yukarıdaki kodumun ilgilenmediği bir çerez kabul pop-up'ı olmasıdır. Otomatik olarak doldurulan kullanıcı adı ve şifre alanlarına sahip bir ekran görüntüsü aşağıda görülebilir. Bu çerezleri otomatik olarak nasıl kabul edeceğini bilen var mı?

Not: Cevabı Python / Selenium'da denedim - www.instagram.com'da 'Çerezleri kabul et' düğmesine tıklayamıyorum , ancak şansım yok.

Teşekkürler!

Marioanzas

Yanıtlar

1 U_double_G Nov 29 2020 at 20:43

Ben de bunun üzerinde çalışıyordum ve biraz uğraştım. Bu komut, tanımlama bilgileri açılır penceresindeki "Kabul Et" düğmesini bulur:

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

Oturum açıldıktan sonra 2 açılır pencere daha sorar: 1 oturum açma bilgilerini kaydetmek için, 1 tarayıcıda bildirimlere izin vermek için. "# Şimdi değil" ifadesinden sonraki satırlar da onlara aynı şekilde bakıyor

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