0

我试图自动化的网站可以通过使用站点地图树来导航。现在为了从 selenium 访问子节点,我编写了以下代码:

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 回答