Instagram'ın HTML nesnelerine ulaşamıyorum

Merhabalar, selenium ile basit bir otomatik log in işlemi yapmak istiyorum ancak "element bulunamadı" hatası alıyorum. Başka web sitelerinde sorunsuz çalışabiliyorum. Hedef Instagram olunca her şeye bu hatayı veriyor. Sizde de durum aynı mı?

Kodlar:

from selenium import webdriver

browser = webdriver.Chrome("C:/Users/User/Desktop/instagramBot/driver/chromedriver")

browser.get("https://www.instagram.com/")

username = browser.find_element_by_name('username')

username.send_keys("python")

insttagram nameleri sürekli değiştiryor.
Bunun yerine xpath kullanırsanız olur.

Denedim, bence sorun orada değil. Instagram bir takım önlemler almış gibi görünüyor.

Xpath nasıl denediniz.Kodunuz nasıl ?

username = browser.find_element_by_xpath("//*[@id='react-root']/section/main/div/article/div/div[1]/div/form/div[3]/div/label/input")

Kodunuz çalışmıyormu ?

Bu bende çalışıyor:

from selenium import webdriver
from time import sleep

browser = webdriver.Firefox(executable_path="/home/tuncay/Masaüstü/Selenium/geckodriver")
sleep(4)
browser.get("https://www.instagram.com")
sleep(10)
kullanıcı = browser.find_element_by_xpath("/html/body/div[1]/section/main/article/div[2]/div[1]/div/form/div[2]/div/label/input")
kullanıcı.send_keys("wormer")
sleep(5)
browser.quit()

2 Beğeni

Bir de lütfen selenium kullanırken time modülünü kullanın.

Teşekkürler, sizin yorumunuzdan sonra biraz araştırdım ve selenium dokumantasyonunda Waits isminde bir konu olduğunu gördüm. Demek ki bu yaygın bir durummuş. Tekrardan teşekkür ederim.

1 Beğeni

Selenium kullanırken lütfen time modülünü kullanmayın. Selenium’un elementlerin oluşmasını bekleme özelliği zaten var, onu kullanın. @ggns7 linkini vermiş.

Sadece instagramda değil, çoğu sitede XPath sıklıkla değişiyor. CSS selectorleri ise nadiren değiştirilir.

1 Beğeni