使用Selenium webdriver定位ASP Sitemap树结构子节点

时间:2012-04-04 08:46:12

标签: c# selenium webdriver sitemap

我尝试自动化的网站可以使用sitemap tree进行导航。现在为了从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会抛出未找到元素异常。

我正在使用Firefox来播放测试用例。

1 个答案:

答案 0 :(得分: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();