Python Koddaki hata nerede?

kkank

Hectopat
Katılım
1 Mart 2021
Mesajlar
803
Makaleler
7
Çözümler
4
Daha fazla  
Cinsiyet
Erkek
İyi Sosyaller.
Aşağıdaki hatanın manası nedir çözemedim, ne yapmam lazım?
mevcutyil += 1 browser.find_element(By.XPATH, "/html/body/div[4]/div[2]/main/div[1]/div[3]/div[1]/div/div/div").click() time.sleep(3) browser.find_element(By.XPATH, yillar[mevcutyil]).click()

 
Son düzenleyen: Moderatör:
3. satırdaki click eventinden sonra modal vb. bir şey mi açılıyor ? Eğer öyleyse açılan modalın veya her neyse onun html yolunu yanlış yazıyorsunuz gibi görünüyor. Click edilen elemandan sonra gerçekleşen olay ile ilgili detay verirseniz yardımcı olmak isterim.
 
Son düzenleme:
Kod:
while True:
    browser.get(ligler[i])
  
    deneme = browser.find_element(By.CSS_SELECTOR,".component-dropdown__native")
    yil_secenekleri = deneme.find_elements(By.CSS_SELECTOR,"option")
    yil_sayisi = len(yil_secenekleri)
    mevcutyil = 1

    while True:       
        k = browser.find_elements(By.CSS_SELECTOR,".p0c-competition-tables__row.p0c-competition-tables__row--rank-status.p0c-competition-tables__row--rank-status-1")
        k = k + browser.find_elements(By.CSS_SELECTOR,".p0c-competition-tables__row.p0c-competition-tables__row--rank-status.p0c-competition-tables__row--rank-status-2")
        k = k + browser.find_elements(By.CSS_SELECTOR,".p0c-competition-tables__row.p0c-competition-tables__row--rank-status.p0c-competition-tables__row--rank-status-3")
        k = k + browser.find_elements(By.CSS_SELECTOR,".p0c-competition-tables__row.p0c-competition-tables__row--rank-status.p0c-competition-tables__row--rank-status-")
        k = k + browser.find_elements(By.CSS_SELECTOR,".p0c-competition-tables__row.p0c-competition-tables__row--rank-status.p0c-competition-tables__row--rank-status-4")
        k = k + browser.find_elements(By.CSS_SELECTOR,".p0c-competition-tables__row.p0c-competition-tables__row--rank-status.p0c-competition-tables__row--rank-status-5")
        with open("teams.txt", "a", encoding="utf-8") as file2:
            for m in k:
                link=m.find_element(By.CSS_SELECTOR,"a").get_attribute("href")
                file2.write(link + "\n")       
        mevcutyil += 1
        browser.find_element(By.XPATH, "/html/body/div[4]/div[2]/main/div[1]/div[3]/div[1]/div/div/div").click()
        time.sleep(3)
        browser.find_element(By.XPATH, yillar[mevcutyil]).click()

while ilk turunu tamamlıyor, ikinciye geçmeden hata veriyor orada.
 
f"/html/body/div[4]/div[2]/main/div[1]/div[3]/div[1]/div/div/div/yillar[{mevcutyil}]"
sanırım böyle bir şey yapmaya çalışıyorsunuz.
 
Hayır aslında bunu yapması daha zor geldi, /html/body/div[4]/div[2]/main/div[1]/div[3]/div[1]/div/div/div/li[2] gibi hazırladım listeye attım. Oradan sırayla alsın istedim. Liste elemanları direk hazır halde.

Bu satırı:
browser.find_element(By.XPATH, yillar[mevcutyil]).click()
Aşağıdaki gibi değiştirdim:
browser.find_element(By.CSS_SELECTOR, yillar[mevcutyil]).click()

Yıllar listesini de selector'la doldurdum ve işim görüldü.
 
Son düzenleme:
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…