我尝试自动化的网站可以使用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来播放测试用例。
答案 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();