Jump to content
Son zamanlarda artan kullanıcı hesap hırsızlıkları sebebiyle tüm kullanıcılara şifre sıfırlama maili gönderilmiştir. Lütfen güveli şifreler seçiniz. Mevcut e-mail adresinize erişemiyorsanız, en aşağıdaki destek linkinden bize ulaşınız. ×

Python&selenium Da <option> Text Ve Value Değerini Nasıl Alabilirim


ratapan
 Share

Recommended Posts

Arkadaşlar yeni yeni python ile projeler geliştirmeye çalışıyorum.Şu anda uğraştığım projede namaz vakitleri uygulaması.Sitedeki combobox tan verileri çekip kendi hazırlayacağım masaüstü programına ekleyeceğim. Siteden il ve ilçe isimlerini düzenli bir şekilde çekebiliyorum fakat ilçelere ait value değerini çekmeyi başaramadım.Nasıl yapabilirim acaba?


sitedeki kodlar

Kod:
<select class="district-select region-select" name="stateRegion" aria-label="İlçe Seçimi">
                                       <option value="9146" data-url="/tr-TR/9146/adana-icin-namaz-vakti">ADANA</option>
                                       <option value="9147" data-url="/tr-TR/9147/aladag-icin-namaz-vakti">ALADAĞ</option>
                                       <option value="9148" data-url="/tr-TR/9148/ceyhan-icin-namaz-vakti">CEYHAN</option>
                                       <option value="17876" data-url="/tr-TR/17876/cukurova-icin-namaz-vakti">ÇUKUROVA</option>
                                       <option value="9149" data-url="/tr-TR/9149/feke-icin-namaz-vakti">FEKE</option>
                                       <option value="9150" data-url="/tr-TR/9150/imamoglu-icin-namaz-vakti">İMAMOĞLU</option>
                                       <option value="9151" data-url="/tr-TR/9151/karaisali-icin-namaz-vakti">KARAISALI</option>
                                       <option value="9152" data-url="/tr-TR/9152/karatas-icin-namaz-vakti">KARATAŞ</option>
                                       <option value="9153" data-url="/tr-TR/9153/kozan-icin-namaz-vakti">KOZAN</option>
                                       <option value="9154" data-url="/tr-TR/9154/pozanti-icin-namaz-vakti">POZANTI</option>
                                       <option value="9155" data-url="/tr-TR/9155/saimbeyli-icin-namaz-vakti">SAİMBEYLİ</option>
                                       <option value="9156" data-url="/tr-TR/9156/tufanbeyli-icin-namaz-vakti">TUFANBEYLİ</option>
                                       <option value="9157" data-url="/tr-TR/9157/yumurtalik-icin-namaz-vakti">YUMURTALIK</option>


benim yazdığım kodlar

Kod:
from selenium import webdriver
import time
br= webdriver.Chrome('C:/Users/win/Downloads/chromedriver.exe')
br.get("https://namazvakitleri.diyanet.gov.tr/Tr-tr/9825/")
br.implicitly_wait(15)
el=br.find_element_by_name('state')
el2 = br.find_element_by_name('stateRegion')
illerlist = []
ilcelerlist={}

for illers in el.find_elements_by_tag_name('option'):
  illerlist.append(illers)


  illers.click()
  time.sleep(2)
  for ilceler in el2.find_elements_by_tag_name('option'):
      #ilceler.click()

      print(illers.text+"/"+ilceler.text)


Şu anda ulaşabildiğim veriler aşağıdaki gibi  
ADANA/ADANA
ADANA/ALADAĞ

yapmak istediğim ise ilcelerin value değerlerini de eklemek

ADANA/ADANA=9146
ADANA/ALADAĞ=9147

Edited by ratapan
Site kodları eklendi.
Link to comment
Share on other sites

bence yanlış başlamışsın işe. Şuan tüm illeri bu şekilde listeleye biliyor musun? Bence beautifulsoup Kütüphanesiyle ilerle. Yada namaz vakitlerini json olarak veren bir site bul daha rahat edersin.

  • Thanks 1
Link to comment
Share on other sites

  • Editor
import urllib.request
import json
r = urllib.request.urlopen("https://ezanvakti.herokuapp.com/ilceler?sehir=539")
b = r.read()
s = b.decode('utf-8')
r.close();

js = json.loads(s)
for ilce in js:
    print(ilce["IlceAdi"] + " = " + ilce["IlceID"])

 

  • Thanks 1
Link to comment
Share on other sites

@shmd ve @pairs cevaplarınız için teşekkürler.Ben de diyanet vakitlerini json verisi olarak çekebileceğim siteler buldum fakat gayem kendi verilerimi kendim oluşturmak.Burada  amacım api üzerinden bilgi alamadığım bir siteden nasıl istediğim bilgilere ulaşabilirim .Zaten burdaki verileri bir defa oluşturup daha sonra sadece diyanetten id üzerinden veri çekeceğim.

Edited by ratapan
Link to comment
Share on other sites

Anladım. Web parse'lamak istiyorsun. İlçeleri seçememenin sebebi seçili ilin olmaması veya sadece bir ili tek seçmiş olman. şayet python ile select list kısmında bir objeyi seçilmiş olarak işaretyele bilirsin iç içe 2 döngü ile yapabilirsin.

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...