• 31-10-2023, 22:31:07
    #1
    Chatgpt böyle bir kod yazdırdım fakat run dediğimde "syntaxerror invalid syntax. perhaps you forgot a comma? "hatası almaktayım chatgpt de çözemedi nasıl düzeltebilirim ki
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    import time
    
    # Tarayıcıyı başlat
    driver = webdriver.Chrome()
    
    # Web sayfasına git
    driver.get("site.com")
    
    # Oturum açma işlemi (kullanıcı adı ve şifre girme)
    username = "kullanıcıadı"
    password = "şifre"
    
    username_field = driver.find_element(By.ID, "username")
    password_field = driver.find_element(By.ID, "password")
    
    username_field.send_keys(username)
    password_field.send_keys(password)
    
    # "Login" butonuna tıklanıyor
    login_button = driver.find_element(By.ID, "loginButton")
    login_button.click()
    
    # Oturum açma işleminden sonra 15 saniye bekleniyor
    time.sleep(15)
    
    # Kullanıcı adlarını içeren dosyayı açın
    with open("üye.txt", "r") as file:
        kullanici_adlari = file.read().splitlines()
    
    # Not eklenen kullanıcıları tutmak için bir liste oluşturun
    not_eklenen_kullanicilar = []
    
    for kullanici in kullanici_adlari:
        print(f"Üye arama işlemi için kullanıcı adı: {kullanici}")
    
        # Kullanıcı adı arama formuna yazılıyor
        search_input = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "formSearch:searchInputUsername")))
        search_input.clear()
        search_input.send_keys(kullanici)
    
        # Arama butonuna tıklanıyor
        search_button = driver.find_element(By.XPATH, "//span[contains(text(), 'Arama')]")
        search_button.click()
    
        print(f"{kullanici} kullanıcısı için işlemler tamamlandı.")
    
        # Kullanıcı notları sayfasına git
        notes_tab = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "form:tabView:customerNotesTitle")))
        notes_tab.click()
    
        # "Not Ekle" butonuna tıklanıyor
        add_note_button = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//span[contains(text(), 'Not Ekle')]"))
        add_note_button.click()
    
        # Not kısmına yazılıyor
        note_textarea = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "txtCustomerNote")))
        note_textarea.send_keys("Deneme")
    
        # Önem derecesi seçiliyor
        importance_dropdown = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "j_idt3031_label")))
        importance_dropdown.click()
    
        high_option = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//li[contains(text(), 'Yüksek')]"))
        high_option.click()
    
        # "Kaydet" butonuna tıklanıyor
        save_button = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//span[contains(text(), 'Kaydet')]"))
        save_button.click()
    
        # Not eklenen kullanıcıyı listeye ekleyin
        not_eklenen_kullanicilar.append(kullanici)
    
    # Tarayıcıyı kapatma
    driver.quit()
    
    # Not eklenen kullanıcıları noteklendi.txt dosyasına yazın
    with open("noteklendi.txt", "w") as output_file:
        for kullanici in not_eklenen_kullanicilar:
            output_file.write(f"{kullanici}: Not Eklendi\n")
  • Kabul Edilen Cevap
    • 1 Beğeni
      add_note_button = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH , "//span[contains(text(), 'Not Ekle')]"))
      yukarıda bir parantezi eksik yazmışsınız hocam doğrusu şöyle olacak ;


      add_note_button = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH , "//span[contains(text(), 'Not Ekle')]")))

      edit: 56. satır
  • 31-10-2023, 22:42:42
    #2
    Hocam click komutlarından önceki satırları inceleyin parantez kapamalarda eksikler var. Komple debug edemedim ama yüksek ihtimal o sebepten hata veriyor.
  • 31-10-2023, 22:46:50
    #3
    bluemansiiz adlı üyeden alıntı: mesajı görüntüle
    Hocam click komutlarından önceki satırları inceleyin parantez kapamalarda eksikler var. Komple debug edemedim ama yüksek ihtimal o sebepten hata veriyor.
    tam satırı nasıl debug edebilirim ki acaba çözemedim bir türlü
  • 31-10-2023, 22:49:26
    #4
    bluemansiiz adlı üyeden alıntı: mesajı görüntüle
    Hocam click komutlarından önceki satırları inceleyin parantez kapamalarda eksikler var. Komple debug edemedim ama yüksek ihtimal o sebepten hata veriyor.
    buldum galiba hocam teşekkür ederim
  • 31-10-2023, 22:49:53
    #5
    Şu şekilde bir deneyin hocam.

    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    import time
    
    # Tarayıcıyı başlat
    driver = webdriver.Chrome()
    
    # Web sayfasına git
    driver.get("https://site.com")  # "site.com" adresini kendi web sitesi adresinizle değiştirin
    
    # Oturum açma işlemi (kullanıcı adı ve şifre girme)
    username = "kullaniciadi"
    password = "sifre"
    
    username_field = driver.find_element(By.ID, "username")
    password_field = driver.find_element(By.ID, "password")
    
    username_field.send_keys(username)
    password_field.send_keys(password)
    
    # "Login" butonuna tıklanıyor
    login_button = driver.find_element(By.ID, "loginButton")
    login_button.click()
    
    # Oturum açma işleminden sonra 15 saniye bekleniyor
    time.sleep(15)
    
    # Kullanıcı adlarını içeren dosyayı açın
    with open("uye.txt", "r") as file:  # Dosya adını değiştirin
        kullanici_adlari = file.read().splitlines()
    
    # Not eklenen kullanıcıları tutmak için bir liste oluşturun
    not_eklenen_kullanicilar = []
    
    for kullanici in kullanici_adlari:
        print(f"Üye arama işlemi için kullanıcı adı: {kullanici}")
    
        # Kullanıcı adı arama formuna yazılıyor
        search_input = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "formSearch:searchInputUsername")))
        search_input.clear()
        search_input.send_keys(kullanici)
    
        # Arama butonuna tıklanıyor
        search_button = driver.find_element(By.XPATH, "//span[contains(text(), 'Arama')]")
        search_button.click()
    
        print(f"{kullanici} kullanıcısı için işlemler tamamlandı.")
    
        # Kullanıcı notları sayfasına git
        notes_tab = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "form:tabView:customerNotesTitle")))
        notes_tab.click()
    
        # "Not Ekle" butonuna tıklanıyor
        add_note_button = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//span[contains(text(), 'Not Ekle')]"))
        add_note_button.click()
    
        # Not kısmına yazılıyor
        note_textarea = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "txtCustomerNote")))
        note_textarea.send_keys("Deneme")
    
        # Önem derecesi seçiliyor
        importance_dropdown = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "j_idt3031_label")))
        importance_dropdown.click()
    
        high_option = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//li[contains(text(), 'Yüksek')]"))
        high_option.click()
    
        # "Kaydet" butonuna tıklanıyor
        save_button = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//span[contains(text(), 'Kaydet')]"))
        save_button.click()
    
        # Not eklenen kullanıcıyı listeye ekleyin
        not_eklenen_kullanicilar.append(kullanici)
    
    # Tarayıcıyı kapatma
    driver.quit()
    
    # Not eklenen kullanıcıları "noteklendi.txt" dosyasına yazın
    with open("noteklendi.txt", "w") as output_file:
        for kullanici in not_eklenen_kullanicilar:
            output_file.write(f"{kullanici}: Not Eklendi\n")
  • 31-10-2023, 23:41:47
    #6
    Bu cevap, konu sahibi tarafından kabul edilebilir bir cevap olarak işaretlendi.
    add_note_button = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH , "//span[contains(text(), 'Not Ekle')]"))
    yukarıda bir parantezi eksik yazmışsınız hocam doğrusu şöyle olacak ;


    add_note_button = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH , "//span[contains(text(), 'Not Ekle')]")))

    edit: 56. satır