我想为Selenium编写我自己的ExpectedConditions,但我不知道如何添加一个新的。有没有人有一个例子?我无法在网上找到任何教程。如何为Selenium添加自定义ExpectedConditions?
在我目前的情况下,我想等到一个元素存在,是可见的,启用AND没有attr“aria-disabled”。我知道这个代码不起作用:
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(seconds));
return wait.Until<IWebElement>((d) =>
{
return ExpectedConditions.ElementExists(locator)
&& ExpectedConditions.ElementIsVisible
&& d.FindElement(locator).Enabled
&& !d.FindElement(locator).GetAttribute("aria-disabled")
}
编辑:一点附加信息:我遇到的问题是与jQuery选项卡。我在禁用的选项卡上有一个表单,它将在标签变为活动状态之前开始填写该选项卡上的字段。
不应该是? –
chill182
当然。编辑纠正。感谢您指出。 – JimEvans
由于这个答案已经在IRC中连接了好几次,我还会指出它应该使用d.FindElement,因为这是驱动程序的lambda变量 –