Selenium WebdriverTimeoutException,尽管该页面已被加载

问题描述

我是Selenium的新手,并尝试自动以全屏模式打开网站。

  • 该网站的登录已经与Selenium一起使用。
  • 登录后只需按下一个按钮即可。

在这里,倒数第二行抛出WebdriverTimoutException

  • InnerExceptionNoSuchElementException
  • 但是当我打开Web控制台时,我可以看到该按钮。
IWebDriver driver = new EdgeDriver(System.IO.Directory.GetParent(System.IO.Directory.GetParent(Environment.CurrentDirectory).ToString()).ToString() + "\\webdriver");

driver.Navigate().GoToUrl(@"http://examplehomepage.com");

driver.FindElement(By.Id("username")).SendKeys("abc");
driver.FindElement(By.Id("password")).SendKeys("password123");
driver.FindElement(By.TagName("button")).Click();

driver.Manage().Window.FullScreen();

WebDriverWait wait = new WebDriverWait(driver,TimeSpan.FromSeconds(30));

IWebElement element = wait.Until(ExpectedConditions.ElementToBeClickable(By.TagName("button")));

element.Click();

我尝试过:

  • 边缘(85.0.564.44)
  • Chrome(85.0.4183.83)
  • Firefox(80.0.1)。

解决方法

  1. 您可以使用睡眠来延迟互动
  2. 您正在使用ElementToBeClickable。您还应该使用ElementToBeVisible并从isEnabled函数中检查元素是否也已启用。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...