Python İle Alakalı Birkaç Soru
-
Daha önce python kullanmadın. Dün indirip, bir şeyler denedim ama yeterli kaynak bulamadım. Yardımcı olacak arkadaşlara şimdiden teşekkürler.
Şimdi bir kayıt formu var. Step step ilerliyor. Ben find_element_by_id ile seçip send_key ile formu dolduruyorum ama o element yoksa hata verip duruyor. Random user agent gönderdiğim için formu farklı farklı gösteriyor. Boş mu dolu mu kontrolünü if else ile denedim ama yine hata veriyor
İleri butonu var. İlkine tıklıyor ama ikincisi de aynı olduğu için yine donup kalıyor. Xpath ile seçiyorum bunu da ve doğru seçtiğimden eminim.
Doğum tarihi kısmı var. Günü ayı seçiyor. Yılı seçmiyor.
Son sürüm kullanıyorum. İşe yarayacak bir kaç şey gösterebilecwk ya da yönlendirebilecek var mı?
-
Yazmış olduğun kodu kopyalar mısın ?
-
Liarhack bunu yazdı
Yazmış olduğun kodu kopyalar mısın ?
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//button[@value='İleri']"}
# İleri
driver.find_element_by_xpath("//button[@value='İleri']").click()böyle bir hata veriyor hocam. bu element sayfada olmadığı zaman bir kontrol eklemek istiyorum. değişkene atayım if else ile kontrol etmek istediğimde de hata veriyor.
-
Try catch kullan hacı
-
yolbulucu bunu yazdı
Try catch kullan hacı
hocam pythona dün giriştim valla. örneklerde de hiç denk gelmedim. birden fazla elementin var olup olmadığını nasıl denetleyebilirim. her türlü kaynak makbule geçer.
-
lepusmorris bunu yazdıLiarhack bunu yazdı
Yazmış olduğun kodu kopyalar mısın ?
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//button[@value='İleri']"}
# İleri
driver.find_element_by_xpath("//button[@value='İleri']").click()böyle bir hata veriyor hocam. bu element sayfada olmadığı zaman bir kontrol eklemek istiyorum. değişkene atayım if else ile kontrol etmek istediğimde de hata veriyor.
try:
element = driver.find_element_by_xpath(".//*[@id='İleri']")
element.click()
except NoSuchElementException:
pass -
Hocam biraz açar mısın konuyu görsel vb var mı ya da kaynak dosya
-
lepusmorris bunu yazdıLiarhack bunu yazdı
Yazmış olduğun kodu kopyalar mısın ?
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//button[@value='İleri']"}
# İleri
driver.find_element_by_xpath("//button[@value='İleri']").click()böyle bir hata veriyor hocam. bu element sayfada olmadığı zaman bir kontrol eklemek istiyorum. değişkene atayım if else ile kontrol etmek istediğimde de hata veriyor.
Diyor ki; böyle bir html öğesi(ya da bu özellikteki etiket de diyebiliriz) yok diyor hocam.
-
Form'da bulunan bir öğeyi denetledikten sonra send_keys fonksiyonunda içeriği ekledikten sonra TAB ekleyerek otomatik olarak bir sonraki öğeye geçiş yapabilirsin. Bu şekilde eğer doğum tarihinde yıl öğesi TAB index barındırıyorsa istediğin içeriği aktarabilirsin. Aynı şekilde button'u bulmakta zorlanıyorsan, tüm field'ları doldurduktan sonra send_keys fonksiyonunda ENTER ekleyerek click ile eşleşme sağlayabilirsin.
-
Roark bunu yazdı
Hocam biraz açar mısın konuyu görsel vb var mı ya da kaynak dosya
mantık şu hocam. bir kayıt formu düşün step step ilerliyor. siteye proxy ile bağlanıcam. bunu da döngüye alıp üyelik oluşturucam. pythonda fake_useragent ve random ad & soyad oluşturan kütphaneler varmış bunu kullanabiliyorum.
şimdi siteye bağlandım.
ileri_btn = driver.find_element_by_xpath("//button[@value='İleri']") böyle bir element varsa
ad & soyad yazdırıp, ileri_btn'ye tıklattırıcam
tabiki bu ad soyad inputları var mı diye de kontrol etmek istiyorum hata payı olmaması için. birinden birini bulamadı mı driver.close() ya da driver.quit() fonksiyonlarından birini çalıştırabilir. arasında ne gibi fark var onu da bilmiyorum ama ikisi de aynı işe yarıyor sanırım.
try: ileri_btn = driver.find_element_by_xpath("//button[@value='İleri']").click() # Adınız firstname = names.get_first_name() reg_firstname = driver.find_element_by_name("firstname") reg_firstname.send_keys(firstname) # Soyadınız lastname = names.get_last_name() reg_lastname = driver.find_element_by_name("lastname") reg_lastname.send_keys(lastname) # İleri driver.find_element_by_xpath("//button[@value='İleri']").click() # birthday_day random_birthday_day = random.randint(1, 29) select_birthday_day = Select(driver.find_element_by_name('birthday_day')) select_birthday_day.select_by_index(random_birthday_day) # birthday_month random_birthday_month = random.randint(1, 12) select_birthday_month = Select(driver.find_element_by_name('birthday_month')) select_birthday_month.select_by_index(random_birthday_month) # birthday_year random_birthday_year = random.randint(1980, 1995) select_birthday_year = Select(driver.find_element_by_name('birthday_year')) select_birthday_year.select_by_index(random_birthday_year) time.sleep(3) # İleri driver.find_element_by_xpath("//button[@data-store-id='3']").click() except NoSuchElementException: print("bulamadı")
-
lepusmorris bunu yazdı
Daha önce python kullanmadın. Dün indirip, bir şeyler denedim ama yeterli kaynak bulamadım. Yardımcı olacak arkadaşlara şimdiden teşekkürler.
Şimdi bir kayıt formu var. Step step ilerliyor. Ben find_element_by_id ile seçip send_key ile formu dolduruyorum ama o element yoksa hata verip duruyor. Random user agent gönderdiğim için formu farklı farklı gösteriyor. Boş mu dolu mu kontrolünü if else ile denedim ama yine hata veriyor
İleri butonu var. İlkine tıklıyor ama ikincisi de aynı olduğu için yine donup kalıyor. Xpath ile seçiyorum bunu da ve doğru seçtiğimden eminim.
Doğum tarihi kısmı var. Günü ayı seçiyor. Yılı seçmiyor.
Son sürüm kullanıyorum. İşe yarayacak bir kaç şey gösterebilecwk ya da yönlendirebilecek var mı?
:((( hocam palas pandıras yazmaya başlama otur a dan z ye bi tutorialla öğren ilk konuları: