我只是想了解和学习硒。我使用IDE记录我的动作并试图播放,但我有点坚持第一步。
我正在尝试的基本上是登录我们的内部网站,然后单击菜单栏导航到内部页面。 Selenium登录但在click事件中失败并显示错误消息 -
[error] Element css=#ui-active-menuitem > span.wijmo-wijmenu-text > span.wijmo-wijmenu-text not found
这个站点是使用primeface生成的,当我看到源代码时,生成错误的行就像 -
<div align="left" class="container"><div id="menu"><ul id="menu_menu"><li><a href="javascript:void(0)">
<span class="wijmo-wijmenu-text">Home</span></a><ul><li><a href="home">home</a></li></ul>
</li><li><a href="javascript:void(0)"><span class="wijmo-wijmenu-text">Tills</span></a><ul>
<li><a href="tills">Manage</a>........
我必须告诉我,只要我没有点击上面的菜单项,我就可以通过Selenium ID运行所有测试,但登录后单击上面的菜单对于到达内页是必不可少的。
非常感谢您的帮助/指导。
谢谢
我开始有同样的问题。这个命令对我有用:
clik link = menuName
clickAndWait link = subMenuName
希望能帮助到你。
也许找不到元素只是因为它还没有加载。登录后你可以尝试使用命令waitForElementPresent然后点击元素。看来你用css引用了一个元素,你可以试试id或name
我想在出现菜单Selenium试图点击之前。只是用
Thread.sleep(5000); // for five second waiting or more you can use
另一种方式使用 -
WebDriverWait wait = new WebDriverWait (driver, 30); // maximum wait 30 seconds
wait.until(ExpectedConitions.PresenceofElement(By.id("Menu_id"))).click();
添加等待,永远不要尝试通过IDE学习selenium。使用IDE的缺点是你无法在代码中添加条件,循环和等待而无法维护框架。