• 05-03-2023, 01:07:36
    #1
    Arkadaşlar selamlar, görseldeki butona tıklamaya çalışıyorum

    driver.find_element(By.XPATH, '//button[text()="Live"]').click() denedim haliyle olmadı. Fikri olan var mıdır acaba? Çok teşekkürler
  • 05-03-2023, 01:24:21
    #2
    melihkoray adlı üyeden alıntı: mesajı görüntüle
    Arkadaşlar selamlar, görseldeki butona tıklamaya çalışıyorum

    driver.find_element(By.XPATH, '//button[text()="Live"]').click() denedim haliyle olmadı. Fikri olan var mıdır acaba? Çok teşekkürler
    live ın önünde ve arkasında boşluk var hocam ayrıca before mevcut java script ile tıklamanız daha basit ve mantıklı olcaktır ..
    c# örneği verebilirim isterseniz sanırım siz python kodluyorsunuz ?
    xpath değeri yerine //i[@class='btn-filter__icon icon-timer'] da kullana bilirsiniz yada //button[@type='button' and class='btn-filter'] yada //i[starts-with(@class,'btn-filter_')] de deneye bilirsiniz

    Örnek Java Script Clik Metodum;
    bu operatörüm:
     public void Click(By by)
    {
    var element = Driver.FindElement(by);
    try
    {
    ((IJavaScriptExecutor)Driver).ExecuteScript("arguments[0].scrollIntoView(true);", (object)element);
    Thread.Sleep(500);
    new Actions(Driver).MoveToElement(element).Click().Build().Perform();
    Thread.Sleep(1000);
    }
    catch (Exception excp)
    {
    
    }
            }
    buda çağırma metodum :
    Click(By.XPath("//button[@id='reset']"));
    • melihkoray
    melihkoray bunu beğendi.
    1 kişi bunu beğendi.
  • 05-03-2023, 01:28:32
    #3
    Misafir adlı üyeden alıntı: mesajı görüntüle
    live ın önünde ve arkasında boşluk var hocam ayrıca before mevcut java script ile tıklamanız daha basit ve mantıklı olcaktır ..
    c# örneği verebilirim isterseniz sanırım siz python kodluyorsunuz ?
    xpath değeri yerine //i[@class='btn-filter__icon icon-timer'] da kullana bilirsiniz yada //button[@type='button' and class='btn-filter'] yada //i[starts-with(@class,'btn-filter_')] de deneye bilirsiniz

    Örnek Java Script Clik Metodum;
    bu operatörüm:
     public void Click(By by)
    {
    var element = Driver.FindElement(by);
    try
    {
    ((IJavaScriptExecutor)Driver).ExecuteScript("arguments[0].scrollIntoView(true);", (object)element);
    Thread.Sleep(500);
    new Actions(Driver).MoveToElement(element).Click().Build().Perform();
    Thread.Sleep(1000);
    }
    catch (Exception excp)
    {
    
    }
            }
    buda çağırma metodum :
    Click(By.XPath("//button[@id='reset']"));
    çok teşekkür ederim. Bir şekilde button'u yakaladım, sanırım asıl sorun arada hiç zaman geçmemesi. Kodları manuel olarak sırayla çalıştırdıgımda butona tıklıyor, arka arkaya kendisi tıkladığında butonu bulamıyor. Sanırım ilk tık sonrası diğer buton daha yüklenmeden tıklamaya çalışıyor. Halletmeye çalışacağım, cevap için tekrardan teşekkürler, onları da kenara kaydettim hemen
  • 05-03-2023, 01:32:32
    #4
    melihkoray adlı üyeden alıntı: mesajı görüntüle
    çok teşekkür ederim. Bir şekilde button'u yakaladım, sanırım asıl sorun arada hiç zaman geçmemesi. Kodları manuel olarak sırayla çalıştırdıgımda butona tıklıyor, arka arkaya kendisi tıkladığında butonu bulamıyor. Sanırım ilk tık sonrası diğer buton daha yüklenmeden tıklamaya çalışıyor. Halletmeye çalışacağım, cevap için tekrardan teşekkürler, onları da kenara kaydettim hemen
    eğer butonun gelmesi konusunda bir sorun varsa actions kullanın hocam actions gerçek mouse tıklamsı gibi clik atar aynı şekilde eğer bir element e veri yazdırcaksanız actions gine en mantıklı işlemdir..
    örnek olmak açısından;
    bu çağırma şeklim;
    Send(By.XPath("//input[@type='text']"), textBox2.Text.Split(':')[2]);
    buda operatörüm;
    public void Send(By by, string s)
    {
    var element = Driver.FindElement(by);
    
    try
    {
    ((IJavaScriptExecutor)Driver).ExecuteScript("arguments[0].scrollIntoView(true);", (object)element);
    new Actions(Driver).MoveToElement(element).Click().Build().Perform();
    }
    catch (Exception)
    {
    
    
    }
    
    foreach (char ch in s.ToCharArray())
    {
    Thread.Sleep(35);
    new Actions(Driver).SendKeys(ch.ToString()).Build().Perform();
    
    }
            }
  • 07-03-2023, 00:02:29
    #5
    melihkoray adlı üyeden alıntı: mesajı görüntüle
    Arkadaşlar selamlar, görseldeki butona tıklamaya çalışıyorum

    driver.find_element(By.XPATH, '//button[text()="Live"]').click() denedim haliyle olmadı. Fikri olan var mıdır acaba? Çok teşekkürler

    ("//*[contains(text(), 'Live')]")


    yapman kafi olacaktır.

    * olan yer tüm sayfada Live ı arar özel yer belirmek istersen yerinide button diye belirtebilirsin kardeşim sorunsuz çalışacaktır. :-)


    imza daki kanala abone olabilirsen 1 dk nı ayırıp çok sevinirim

    Youtube' da sadece abone olsan yeter - Teşekkürler.Youtube Kanalina Gitmek için Tıkla