我之前使用的是 selenium java。java中有這樣的方法;
public static ExpectedCondition<WebElement> visibilityOf(final WebElement element)
我在 c# 中找不到它。C#中有這樣的方法;
public static Func<IWebDriver, IWebElement> ElementIsVisible(通過定位器)
在這種情況下,我必須給我每次創建的方法一個定位器。但是,我想要一種可以直接給出元素的方法。這怎么可能。?
uj5u.com熱心網友回復:
你可以使用ElementToBeClickable方法。
它接受 aIWebElement element作為引數。
我同意你的觀點,這并不是元素可見性的確切含義,但是元素可見性和元素可點擊性ExpectedConditions方法在內部實作類似。
uj5u.com熱心網友回復:
相當于基于Java的代碼行:
public static ExpectedCondition<WebElement> visibilityOf(final WebElement element)
在C#中將是ElementIsVisible()方法,其作業系統定義如下:
public static Func<IWebDriver, IWebElement> ElementIsVisible(
By locator
)
一個例子是:
IWebElement element = new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(ExpectedConditions.ElementIsVisible(By.Id("ElementID")));
uj5u.com熱心網友回復:
我想你要問的是,你如何使用 WebDriverWait 來等待一個元素變得可見。如果這是真的,您只需呼叫 WebDriverWait 物件上的 Until 方法并將 ExpectedConditions.ElementIsVisible 作為引數傳遞。
請參閱下面的代碼,使用 30 秒等待。
用一行代碼完成所有操作:
IWebElement element = new WebDriverWait(driver, TimeSpan.FromSeconds(30)).Until(ExpectedConditions.ElementIsVisible(By.XPath(id)));
為了清楚起見,分成幾行:
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30));
IWebElement element = wait.Until(ExpectedConditions.ElementIsVisible(By.XPath(id)));
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/425786.html
