同じプログラムに 2 つの明示的な待機があります。1 つは WaitForElement 用で、もう 1 つは WaitForPageLoad 用です。しかし、機能していないようです。それらの1つを暗黙の待機に変更すると、正常に機能します。そうしないと、コード自体が最初から失敗します。セレンの初心者なので、なぜ失敗したのかわかりません。
エラー:
NoSuchElementException
待機:これらを 2 つの異なる方法で使用しました
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);