[]
selenium ile drop down list öğesini random seçme
ekşi üzerinden örnek vereceğim daha kolay olacak
eksisozluk.com
aynı mantıkla tarih seçtiren bir yerde
birthdate_day_input = driver.find_element_by_xpath('//*[@id="Birthdate_Day"]')
birthdate_day_input.send_keys(random.randint(1, 28))
birthdate_month_input = driver.find_element_by_xpath('//*[@id="Birthdate_Month"]')
birthdate_month_input.send_keys(random.randint(1, 12))
birthdate_year_input = driver.find_element_by_xpath('//*[@id="Birthdate_Year"]')
birthdate_year_input.send_keys(random.randint(1904, 2004))
ile gün seçiyorum, tarih seçiyorum ama ay seçemiyorum. kodları ekşiye göre uyarladım bu arada. 1,12 yapıyorum olmuyor. ocak, aralık yapıyorum olmuyor ocak mart yapıyorum olmuyor 10-12 yapıyorum gene olmuyor.
eksisozluk.com
aynı mantıkla tarih seçtiren bir yerde
birthdate_day_input = driver.find_element_by_xpath('//*[@id="Birthdate_Day"]')
birthdate_day_input.send_keys(random.randint(1, 28))
birthdate_month_input = driver.find_element_by_xpath('//*[@id="Birthdate_Month"]')
birthdate_month_input.send_keys(random.randint(1, 12))
birthdate_year_input = driver.find_element_by_xpath('//*[@id="Birthdate_Year"]')
birthdate_year_input.send_keys(random.randint(1904, 2004))
ile gün seçiyorum, tarih seçiyorum ama ay seçemiyorum. kodları ekşiye göre uyarladım bu arada. 1,12 yapıyorum olmuyor. ocak, aralık yapıyorum olmuyor ocak mart yapıyorum olmuyor 10-12 yapıyorum gene olmuyor.
buradaki problem senin gönderdiğin değer option elementlerinin value değerlerine karşılık gelmediği için seçim gerçekleşmiyor. ay ve yıllarda option elementlerinin value değerleri tutuyor. yapman gereken şey send_keys ile değer göndermek değil de direkt olarak o elementin value değerini göndermelisin.
<option value="1">ocak</option>
<option value="2">subat</option>
birthdate_month_input = driver.find_element_by_xpath('//*[@id="Birthdate_Month"]')
birthdate_month_input.select_by_value(random.randint(1, 12))
yukarıda attığım kodun çalışıp çalışmadığını bilmiyorum selenium kurulu değil şu an ama mantığı bu şekilde. eğer selenium ile js kodu çalıştırırım dersen de aşağıda bıraktığım kod parçacığı işini görecektir.
document.getElementById("Birthdate_Month").value=Math.floor(Math.random() * 12) + 1;
<option value="1">ocak</option>
<option value="2">subat</option>
birthdate_month_input = driver.find_element_by_xpath('//*[@id="Birthdate_Month"]')
birthdate_month_input.select_by_value(random.randint(1, 12))
yukarıda attığım kodun çalışıp çalışmadığını bilmiyorum selenium kurulu değil şu an ama mantığı bu şekilde. eğer selenium ile js kodu çalıştırırım dersen de aşağıda bıraktığım kod parçacığı işini görecektir.
document.getElementById("Birthdate_Month").value=Math.floor(Math.random() * 12) + 1;
- duyulmasi gerektigi kadar (18.02.23 23:47:43)
1