2 回答

TA貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個(gè)贊
判斷是否出現(xiàn)彈出元素,如果不出現(xiàn)元素計(jì)數(shù)為0
List<IWebElement> elementList = new List<IWebElement>();
elementList.AddRange(driver.FindElements(By.XPath("..."));
if(elementList.Count > 0)
{
//If the count is greater than 0 your element exists.
Console.Write("pop up is present");
}else{
Console.Write("pop up not present");
}
注意:請確保使用FindElements()而不是FindElement()

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超10個(gè)贊
我建議使用 webdriverwait,因?yàn)楦鶕?jù)表單的不同,在成功消息之前可能會有延遲。
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(5));
var element = wait.Until(ExpectedConditions.ElementIsVisible(By.XPath("your xpath here")));
Assert.NotNull(element);
斷言格式將根據(jù)您的框架而有所不同。那是來自 xUnit 的。
注意:包含 ExpectedConditions 的包沒有維護(hù),但它們非常簡單,如果您擔(dān)心的話,可以將其復(fù)制到您的代碼或自己的包中。
public static Func<IWebDriver, IWebElement> ElementIsVisible(By locator)
{
return (driver) =>
{
try
{
return ElementIfVisible(driver.FindElement(locator));
}
catch (StaleElementReferenceException)
{
return null;
}
};
}
private static IWebElement ElementIfVisible(IWebElement element)
{
return element.Displayed ? element : null;
}
- 2 回答
- 0 關(guān)注
- 128 瀏覽
添加回答
舉報(bào)