我想爲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變量 –