我在同一个程序中有两个显式等待。一个用于WaitForElement,一个用于WaitForPageLoad。但它似乎不起作用。当我将其中一个更改为隐式等待时,它工作正常。否则代码本身会在开始时失败。Selenium 的初学者,所以不知道它为什么会失败。
错误:
NoSuchElementException
等待:在两种不同的方法中使用了这些
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(3));
{
IWebElement myDynamicElement = wait.Until<IWebElement>((d) =>
{
return d.FindElement(By.ClassName("header"));
});
if (myDynamicElement != null) return true;
}
WebDriverWait _wait = new WebDriverWait(driver, TimeSpan.FromSeconds(3));
{
IWebElement _myDynamicElement = _wait.Until<IWebElement>((d) =>
{
return d.FindElement(By.ClassName("header-buttons"));
});
if (_myDynamicElement != null) return true;
}
程序中使用该方法的代码
WaitForElementPresent(By.CssSelector("div[class='tagged-text search-text']>input"));
//Enter the item to search
driver.FindElement(By.CssSelector("div[class='tagged-text search-text']>input")).Clear();
driver.FindElement(By.CssSelector("div[class='tagged-text search-text']>input")).SendKeys(searchItem + Keys.Enter);