我想检查Selenium中是否存在元素,如果存在,则将其分配给名称.
现在我有一些看起来像这样的东西:
IWebElement size9 = driver.FindElement(By.CssSelector("a[data-value*='09.0']"));
Run Code Online (Sandbox Code Playgroud)
但是,如果不存在值为9的元素,则返回错误.有没有办法可以检查它是否存在,或者某种类似的东西?
Bua*_*ban 14
有几种选择.我推荐这些.
1.创建方法或Web驱动程序扩展.
public static IWebElement FindElementIfExists(this IWebDriver driver, By by)
{
var elements = driver.FindElements(by);
return (elements.Count >=1) ? elements.First() : null;
}
// Usage
var element = driver.FindElementIfExists(By.CssSelector("a[data-value*='09.0']"));
Run Code Online (Sandbox Code Playgroud)
2.计算元素,如果有1个或更多元素,则获取它.
By by = By.CssSelector("a[data-value*='09.0']");
var element = driver.FindElements(by).Count >= 1 ? driver.FindElement(by) : null;
Run Code Online (Sandbox Code Playgroud)
然后你可以检查 if(element != null) { ... }
| 归档时间: |
|
| 查看次数: |
18448 次 |
| 最近记录: |