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");
这可能是两个浏览器的时间问题。你应该尝试使用更稳定的代码,使用WebDriverWait
等待元素在交互之前可见,如下所示:-
IWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
IWebElement element = wait.Until(ExpectedConditions.ElementIsVisible(By.Name("q")));
element.SendKeys("Hello World");