Selenium click hatası

takipet = browser.find_element_by_css_selector(“button._5f5mN.jIbKX._6VtSN.yZn4P”)

sayac+=1
browser.get("https://www.instagram.com/" + file.readline())
time.sleep(5)
takipet.click()
print("Takip:",sayac)
time.sleep(sure)

HATA

selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document

İnstagramda profile gidiyor ancak takip et’e tıklamıyor,bu hatayı alıyorum. Nedeni ne olabilir.

Burada yeni bir sayfaya geçtiğiniz için,

önceki sayfadan elde ettiğiniz bu sayfa elemanına erişemezsiniz. Her sayfa değiştirdiğinizde sayfadan tekrar elemanı çekmeniz gerekiyor.

takipet ögesini css ile oluşturdum hocam. Her sayfada aynı zaten. Değilse bile her sayfadan nasıl çekebilirim?

Her sayfada aynı CSS selector’lerine sahip olmasının bir etkisi yok, bir element üzerinde işlem yapacaksanız elementin bulunduğunuz sayfada olması lazım. Her sayfada en baştan seçmelisiniz elementi.

Nasıl seçeceğim hocam bilmiyorum nasıl yapacağımı

Böyle seçeseksiniz:

Ama bunu her sayfa değiştirdiğinizde tekrar yapmanız lazım.

Işte onu nasıl yapacağım bilmiyorum hocam

Aynı kodu kullanacaksınız işte. Normalde nasıl buluyorsunuz takipet butonunu? Tek yapmanız gereken bunu şu anda olduğu gibi bir defa yapmak yerine her yeni sayfa açtığınızda tekrar etmek.

Hocam takipet butonunu döngü içerisinde file.read’ın üstünde tanımlamama rağmen gene olmadı, müsaitseniz kod ile gösterebilir misiniz rica etsem? gerçekten anlamadım ve kafam karıştı.

Hocam yardımcı olabilirseniz sefirinim

Şöyle bir şey diyorum, her yeni sayfa yüklendiğinde takipet'in yeniden bulunması lazım:

sayac+=1
browser.get("https://www.instagram.com/" + file.readline())
takipet = browser.find_element_by_css_selector(“button._5f5mN.jIbKX._6VtSN.yZn4P”)
time.sleep(5)
takipet.click()
print("Takip:",sayac)
time.sleep(sure)

Aynısını yapmıştım zaten ama olmadı hocam

O zaman aldığınız hatayı ve kodunuzun tamamını, en azından çalıştırabileceğimiz bir kısmını görmemiz lazım.

browser.get() metodundan hemen sonra 3-4 saniye uyutmayı deneyin elementi çekmeden önce bazen yüklenmesi vakit aldığı için istediğiniz element yüklenmemiş olabiliyor.
Ayrıca elementi css selector yerine xpath veya class name metoduyla bulmayı deneyin.
Son olarak doğru elementi seçtiğinizden emin olun keyboard focusable olması gerekiyor diye biliyorum ve baktım element button etiketi içerisinde duruyor yine olmazsa ben de denerim şuan pek zamanım yok üzgünüm.