selenium webdriver c# Обработка списка автоматических предложений - PullRequest
0 голосов
/ 27 мая 2020

У меня проблема с выбором из списка поиска, что я хочу искать, я получаю список, но я не понимаю, как выбрать и как написать правильную ошибку получения, когда я попытался выбрать xpath, как это решить, и если кто подскажет, как реализовать функцию поиска по жанру

 [TestMethod]
    public void TestMethod1()
    {
        IWebDriver driver = new ChromeDriver();


        //navigation to Gov Site
        driver.Navigate().GoToUrl("https://www.gov.il/en");
        Console.WriteLine("opened url");
        driver.Manage().Window.Maximize();

        IWebElement element = driver.FindElement(By.Name("query"));
        element.SendKeys("Population and Immigration Authority");

        var wait = GetWebdriverWait(TimeSpan.FromSeconds(40));
        IList<IWebElement> elements = wait.Until(GetAllElement(By.XPath("/html/body/div[3]/header/div[4]/div/div/div/div/div/div/span[1]")));
        foreach (var elel in elements)
        {
            if (elel.Text.Equals("Population and Immigration Authority"))
            {
                elel.Click();
            }
        }
        element.FindElement(By.XPath("//*[@id='btnSearch']/i")).Submit();

    }
    private Func<IWebDriver, IWebElement> GetAllElement(By locator)
    {
        return ((x) =>
        {
            return x.FindElement(locator);
        });
    }

    public static WebDriverWait GetWebdriverWait(TimeSpan timeout)
    {
        driver.Manage().Timeouts().ImplicitWait = (TimeSpan.FromSeconds(1));
        WebDriverWait wait = new WebDriverWait(driver, timeout)
        {
            PollingInterval = TimeSpan.FromMilliseconds(500),
        };
        wait.IgnoreExceptionTypes(typeof(NoSuchElementException), typeof(ElementNotVisibleException));
       // Logger.Info(" Wait Object Created ");
        return wait;
    }

enter image description here

...