Selenium WebDriver抛出NoSuchElement异常,然后在我点击继续时找到元素

时间:2016-04-05 20:18:16

标签: c# selenium-webdriver

在以下代码中

{{1}}

Selenium投掷了一个NoSuchElement'例外。然后当我点击继续时,它会点击它认为无法找到的元素。有人可以解释为什么会发生这种情况/我做错了什么?

1 个答案:

答案 0 :(得分:2)

加载元素可能需要一些时间。您可以使用ExpectedConditions的显式等待来等待元素

WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
wait.Until(ExpectedConditions.ElementIsVisible(By.LinkText("log in"))).Click();

或设置隐式等待

driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));