微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

测试脚本不在特定页面等待

如何解决测试脚本不在特定页面等待

driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
driver.FindElement(By.XPath(".//*[@class = 'search-Box']")).SendKeys("Samsung");
Console.WriteLine("confirm!");

driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
driver.FindElement(By.XPath(".//*[@class = 'search-icon']")).Click();
Console.WriteLine("confirm!");

driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
driver.FindElement(By.ClassName("fvrt-btn")).Click();
Console.WriteLine("confirm!");

driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
driver.FindElement(By.XPath(".//*[@class = 'link-text']/div/div/div/div[a]/div/div/div")).Click();
Console.WriteLine("confirm!");

driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
driver.FindElement(By.ClassName("ufvrt-btn")).Click();
Console.WriteLine("confirm!");

// 此行不起作用,测试脚本不在特定页面等待。 driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);

解决方法

您应该使用显式等待而不是隐式等待。试试这个:

WebDriverWait wait;
wait = new WebDriverWait(driver,30);
wait.until(ExpectedConditions.visibilityOfElementLocated(element));

其中 element 是元素定位符,例如代码第二行的 By.XPath(".//*[@class = 'search-box']")
等待超时通常设置为 30 秒,以允许页面完全加载。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。