Chrome和IE在截屏之前不会等待页面加载

时间:2015-10-26 12:07:10

标签: c# google-chrome visual-studio-2013 selenium-webdriver internet-explorer-11

我正在自动化引导UI的登录页面。 每次登录按钮在Chrome和IE浏览器中点击加载完整页面后,我想截取屏幕截图。在Firefox中它正常工作,我可以在屏幕截图中看到下一页。

以下是我的代码:

[TestMethod]
public void LoginTestChrome(string userName, string pwd)
{
  OpenBrowserChrome();
  IWebElement username = driver.FindElement(By.Id("Label"));
  username.SendKeys(userName);
  IWebElement password = driver.FindElement(By.Id("Pwd"));
  password.SendKeys(pwd);
  driver.FindElement(By.Id("BtnLogin")).Click();
  SaveScreenshot();
  driver.Quit();
}

有人可以解决我的问题吗?

1 个答案:

答案 0 :(得分:0)

您必须编写代码以确保正确加载页面。您可以验证新页面上是否存在Web元素。

var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(timeoutInSeconds));
wait.Until(drv => drv.FindElement(by));

使用此代码,您确信对于每个浏览器,Selenium都会等待元素 - >页面加载。

KR,

尼古拉斯