Selenium finelement适用于Firefox,但不适用IE

本文关键字:不适用 IE Firefox finelement 适用于 Selenium | 更新日期: 2023-09-27 18:07:50

所以我开始使用Selenium和c#学习自动化,问题是我可以导航到我的facebook,谷歌什么都可以在firefox上运行良好。但是当使用IE浏览器时,它打开网页,但随后抛出错误'NoSuchElementException'。我使用相同的代码,一个工作一个不。这是IE代码

        IWebDriver driver = new InternetExplorerDriver(@"C:'folder");
        driver.Navigate().GoToUrl("http://www.google.com");
        driver.FindElement(By.Name("q")).SendKeys("Hello World");

这是firefox代码

        IWebDriver driver = new FirefoxDriver();
        driver.Navigate().GoToUrl("http://www.google.com");
        driver.FindElement(By.Name("q")).SendKeys("Hello World");

Selenium finelement适用于Firefox,但不适用IE

这可能是两个浏览器的时间问题。你应该尝试使用更稳定的代码,使用WebDriverWait等待元素在交互之前可见,如下所示:-

IWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
IWebElement element = wait.Until(ExpectedConditions.ElementIsVisible(By.Name("q")));
element.SendKeys("Hello World");