isvisible java_.NET(C#) Selenium操作调用浏览器判断页面元素(ElementIsVisible)可见的方法...
1、使用Until和匿名函數的方法var wait = new WebDriverWait(driver, new TimeSpan(0, 0, 30));
wait.IgnoreExceptionTypes(typeof(NoSuchElementException), typeof(ElementNotVisibleException));
var element = wait.Until(() =>
{
var e = Driver.FindElement(By.Id("content-section"));
if(e.Displayed)
return e;
});
2、添加擴展方法WaitUntilVisible來判斷public static IWebElement WaitUntilVisible(
this IWebDriver driver,
By itemSpecifier,
int secondsTimeout = 10)
{
var wait = new WebDriverWait(driver, new TimeSpan(0, 0, secondsTimeout));
var element = wait.Until(driver =>
{
try
{
var elementToBeDisplayed = driver.FindElement(itemSpecifier);
if(elementToBeDisplayed.Displayed)
{
return elementToBeDisplayed;
}
return null;
}
catch (StaleElementReferenceException)
{
return null;
}
catch (NoSuchElementException)
{
return null;
}
});
return element;
}
調用擴展方法:ChromeDriver driver = new ChromeDriver();
//...省略邏輯代碼
element = driver.WaitUntilVisible(By.XPath("//input[@value='Save']"));
3、通過DotNetSeleniumExtras.WaitHelpers判斷
1) Nuget安裝引用DotNetSeleniumExtras.WaitHelpers
使用nuget搜索DotNetSeleniumExtras.WaitHelpers,并且導入命名空間。
或者Install-Package DotNetSeleniumExtras.WaitHelpers
2) 判斷是否顯示的代碼var wait = new WebDriverWait(driver, new TimeSpan(0, 0, 30));
var element = wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(By.Id("content-section")));
相關文檔:
總結
以上是生活随笔為你收集整理的isvisible java_.NET(C#) Selenium操作调用浏览器判断页面元素(ElementIsVisible)可见的方法...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows10上安装Git 2.10
- 下一篇: zotero