• 07-11-2021, 01:03:42
    #1
    "System.ArgumentOutOfRangeException: 'Dizin aralık dışındaydı. Negatif bir değer olmamalı" hatası alıyom


    IWebDriver driver = new FirefoxDriver();
    driver.Manage().Window.Maximize();
    driver.Navigate().GoToUrl("web site ismi");
    IWait<IWebDriver> wait = new OpenQA.Selenium.Support.UI.WebDriverWait(driver, TimeSpan.FromSeconds(30.00));
    wait.Until(driver1 => ((IJavaScriptExecutor)driver).ExecuteScript("retur n document.readyState").Equals("complete"));
    for (int i = 0; i < 17; i++)
    {
    driver.FindElements(By.ClassName("swiper-pagination-bullet-active"))[i].Click(); //kod burada hata veriyor
    IWebElement element1 = driver.FindElement(By.Id("h1_manset"));
    listBox1.Items.Add(element1.Text);
    }
  • 07-11-2021, 01:06:37
    #2
    Bir QA engineer olarak söylüyorum, java veya pyhton ile yapmaya çalış bunu, valla manyak olursun c# ile hocam
  • 07-11-2021, 01:07:46
    #3
    driver.FindElements(By.ClassName("swiper-pagination-bullet-active"))[i].Click(); sayma sayısı dizindeki limiti geçtiği zaman bu hatayı verir. 17 tane eleman olduğunu düşünüp yazdıysanız veya totaldeki elemanlardan analiz etmesini istiyorsanız. 17 yerine
    driver.FindElements(By.ClassName("swiper-pagination-bullet-active")) .Count yazıp deneyin.
  • 07-11-2021, 01:09:29
    #4
    Kurumsal PLUS
    var count = driver.FindElements(By.ClassName("swiper-pagination-bullet-active")).Count;
    for (int i = 0; i < count; i++)
    {
    driver.FindElements(By.ClassName("swiper-pagination-bullet-active"))[i].Click(); //kod burada hata veriyor
    IWebElement element1 = driver.FindElement(By.Id("h1_manset"));
    listBox1.Items.Add(element1.Text);
    }
  • 07-11-2021, 01:10:32
    #5
    Sorun;
    for (int i = 0; i < 17; i++)
    bu satırda, sanırım 17 adet yok o classname da.

    Ek olarak;

    wait.Until(driver1 => ((IJavaScriptExecutor)driver).ExecuteScript("retur n document.readyState").Equals("complete"));
    yerine
    wait .Until(ExpectedConditions.ElementIsVisible(By.ClassName("swiper-pagination-bullet-active")));

    daha sağlıklı olur gibi.