DonanımHaber Mini sürüm 2 Ocak 2026 tarihi itibariyle kullanımdan kalkacaktır. Bunun yerine daha hızlı bir deneyim için DH Android veya DH iOS uygulamalarını kullanabilirsiniz.
Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
9
Cevap
797
Tıklama
0
Öne Çıkarma
python selenium webdriver da takıldım.
M
7 yıl (6 mesaj)
Er
Konu Sahibi

Öncelikle herkese selamlar, pythonda biraz yeniyim ve takıldım yardımlarınızı rica ederim şimdide çok teşekkürler.



Bu şekilde işaretlemem gereken yerler burası burdaki mesela value 18 olanı tıklatıp işleme devam etmem lazım ama yapamadım yardımlarınız rica ederim

    <input checked="checked" id="ProductCategory" name="ProductCategory" type="radio" value="21">
<input checked="checked" id="ProductCategory" name="ProductCategory" type="radio" value="18">





Ana kodlarım...
from selenium import webdriver
from getpass import getpass
import time
import select
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.by import By


usr = input('Kullanıcı Adı:')
pwd = getpass('Şifre yi Giriniz:')


driver =webdriver.Firefox()
driver.get ('http://satis.turktelekom.com.tr/')

time.sleep(5)

username_box = driver.find_element_by_id('username')
username_box.send_keys(usr)

password_box = driver.find_element_by_id('password')
password_box.send_keys(pwd)


login_btn = driver.find_element_by_id('idlogon')
login_btn.submit()
print("lütfen bekleyin...")


time.sleep(3)

sms = input('SmS Şfresi girin:')

sms_box = driver.find_element_by_id('otpValue')
sms_box.send_keys(sms)

time.sleep(3)
login_btn = driver.find_element_by_id('idlogon')
login_btn.submit()

time.sleep(13)

driver.get('https://aveapos.avea.com.tr/PayFlex.Collection.DealerPortal.Mvc/Dashboard/Index')
time.sleep(10)

driver.get('https://aveapos.avea.com.tr/PayFlex.Collection.DealerPortal.Mvc/OnlineSale/PackageSale')

time.sleep(10)
print("Numarayu tuşluyorum.")

numara_yaz1 = driver.find_element_by_xpath('//*[@id="Imei"]')
numara_yaz1.send_keys("5550611123")

numara_yaz2 = driver.find_element_by_xpath('//*[@id="ConfirmImei"]')
numara_yaz2.send_keys("5550611123")

time.sleep (3)
numara_btn = driver.find_element_by_id('btnNext')
numara_btn.click()
print ("Paket Seçim ekranına gidiyorum")

time.sleep(5)

element = driver.find_element(by=By.ProductCategory, value="13")
element.click()





DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



M
7 yıl (6 mesaj)
Er
Konu Sahibi

xpath ile yakalayamadım bir türlü value de tıklatamadım tıkandım kaldım. :-(

Bu arada da butonlar radio buton.


Bu mesaja 1 cevap geldi.
T
7 yıl (20069 mesaj)
Yarbay

Öncelikle WebDriver 'ın Selenium ile direkt bağlantısı yok; o sadece bir sürücü.

By.ProductCategory kısmı yanlış bence. Cunku 'name' bir HTML etiket ek özelliği (attribute) ve name=ProductCategory 'nin By.ProductCategory ile bulunabileceğini sanmam.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @melihpaşa
M
7 yıl (6 mesaj)
Er
Konu Sahibi

öncelikle ilginiz için çok teşekkür ederim.


kaynak kodu aşağıda ki şekilde sadece value değerleri var birde hidden idler var ama ne driver.find_element_by_id nede driver.find_element_by_xpath ile tıklatamadım :(

</div>

</td>
</tr>
<tr>
<td>
<div style="height: 20px; width: 462px; vertical-align:middle">

<h2><input checked="checked" id="ProductCategory" name="ProductCategory" type="radio" value="15" /> Selfy?den</h2>

<input id="Id" name="Id" type="hidden" value="15" />
<input id="ExternalPackageId15" name="ExternalPackageId15" type="hidden" value="1002" />

</div>

</td>
</tr>
<tr>
<td>
<div style="height: 20px; width: 462px; vertical-align:middle">

<h2><input checked="checked" id="ProductCategory" name="ProductCategory" type="radio" value="16" /> Konuşma</h2>

<input id="Id" name="Id" type="hidden" value="16" />
<input id="ExternalPackageId16" name="ExternalPackageId16" type="hidden" value="1003" />

</div>

</td>
</tr>
<tr>
<td>
<div style="height: 20px; width: 462px; vertical-align:middle">

<h2><input checked="checked" id="ProductCategory" name="ProductCategory" type="radio" value="17" /> İnternet</h2>

<input id="Id" name="Id" type="hidden" value="17" />
<input id="ExternalPackageId17" name="ExternalPackageId17" type="hidden" value="1004" />

</div>


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @vonderplanitz
M
7 yıl (6 mesaj)
Er
Konu Sahibi

kaç gündür uğraşıyorum inanın burda takıldım kaldım baya üzdü beni.




Bu mesajda bahsedilenler: @melihpaşa
M
7 yıl (6 mesaj)
Er
Konu Sahibi

from selenium.webdriver.support.select import Select

yaptığımda bende select çalışmıyor nedense hata veriyor kuramadım sanırım onu kurabilsem devamı gelicek gibi...



R
7 yıl (9420 mesaj)
Yarbay

radio = driver.find_element_by_id("someid")
radio.click()


Bu mesaja 1 cevap geldi.
T
7 yıl (20069 mesaj)
Yarbay

O id'sine göre birden fazla buton bulur fakat value'süne buton bulmalı.

Bunun gibi bir kod, value 'süne göre buton bulur ve klikler. Kodu Python'a cevirip dene.

String xpath_buton = "//input[@name='ProductCategory']" ;
List<WebElement> butonlar;
butonlar = driver.findElements(By.xpath(xpath_buton));
Integer kontrol;
for (int i=0; i < butonlar.size(); i++) {
kontrol = Integer.parseInt(butonlar.get(i).getAttribute("value"));
if (kontrol == 18) {
butonlar.get(i).click(); // Kliklendi...
}
}




Bu mesajda bahsedilenler: @Requizm
G
7 yıl (213 mesaj)
Teğmen

M
7 yıl (6 mesaj)
Er
Konu Sahibi

Öncelikle herkese tek tek teşekkür ederim cevaplarınız için hepsini denedim becerememiştim şu şekilde bir yol boldum sizlerle de paylaşmak istediğim.

radio linkin üzerine geldim tam butonun üzerinde incele dedim hep xpath ile dediğimiz yerden css yolunu kopyaladım ce ona .click () yaptırdım sorunsuz bir şekilde oldu ve çalışıyor herkese tekrar çok teşekkür ederim emekleriniz için çok çok teşekkürler.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.