0

自動化しようとしている Web サイトは、サイトマップ ツリーを使用してナビゲートできます。セレンから子ノードにアクセスするために、次のコードを記述しました。

IWebElement menu = driver.FindElement(By.LinkText("Setup"));
//Setup is the parent node
Actions mouseOver = new Actions(driver);
mouseOver.MoveToElement(menu).Build().Perform();
driver.FindElement(By.LinkText("Entities")).Click();
//Entities is the child node.

しかし、webdriver はElement not found例外をスローします。

テスト ケースの再生には Firefox を使用しています。

4

1 に答える 1

0

要素が表示されるのを十分に待っていない可能性があります。それが「要素が見つかりません」の理由です。WebdriverWait を試しましたか?

IWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30));
IWebElement menu = driver.FindElement(By.LinkText("Setup"));
Actions mouseOver = new Actions(driver);
mouseOver.MoveToElement(menu).Build().Perform();
IWebElement entities = 
wait.Until(ExpectedConditions.ElementExists(By.LinkText("Entities"))); 
entities.click();
于 2012-04-06T00:52:31.943 に答える