Şimdi Ara

python selenium webdriver da takıldım.

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
11
Cevap
0
Favori
718
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Ö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()












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

    Bu arada da butonlar radio buton.
  • melihpaşa M kullanıcısına yanıt
    Ö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.
  • ö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>




  • melihpaşa M kullanıcısına yanıt
    kaç gündür uğraşıyorum inanın burda takıldım kaldım baya üzdü beni.
  • 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...
  • radio = driver.find_element_by_id("someid")
    radio.click()
  • Requizm kullanıcısına yanıt
    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...
    }
    }
  • Ö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.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.