官网地址:https://www.selenium.dev/
在显式等待中,可以使用 WebDriverWait
类来等待某个条件变为真。例如,可以使用以下代码等待一个元素可见并可点击:
csharp// 设置超时时间和轮询间隔
TimeSpan timeout = TimeSpan.FromSeconds(10);
TimeSpan pollingInterval = TimeSpan.FromSeconds(0.5);
// 创建 WebDriverWait 对象
WebDriverWait wait = new WebDriverWait(driver, timeout, pollingInterval);
// 等待元素可见并可点击
IWebElement element = wait.Until(ExpectedConditions.ElementToBeClickable(By.XPath("//button[@text='新增']")));
// 点击元素
element.Click();
在隐式等待中,可以使用 ImplicitWait
属性来等待页面元素的加载。例如,可以使用以下代码设置一个隐式等待,让 Selenium 在查找元素时等待最多 10 秒:
csharp// 设置隐式等待时间
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
// 查找元素并点击
driver.FindElement(By.XPath("//button[@text='新增']")).Click();
这两种等待方法都可以替代 Thread.Sleep()
,使测试更加可靠和高效。建议优先使用显式等待,在必要时再使用隐式等待。
本文作者:宁骑
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!