我只是想了解和学习硒。我使用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运行所有测试,但登录后点击上面的菜单对于到达内页是必不可少的。
非常感谢您的帮助/指导。
由于
答案 0 :(得分:1)
CLIK 链接= MENUNAME
clickAndWait 链接= subMenuName
希望它有所帮助。
答案 1 :(得分:1)
可能因为尚未加载而找不到元素。登录后可以尝试使用命令 waitForElementPresent 然后点击元素。 看来你用css引用了一个元素,你可以尝试id或name
答案 2 :(得分:0)
我认为在出现菜单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();
答案 3 :(得分:0)
添加等待,决不要尝试通过IDE学习硒。 使用IDE的缺点是您无法在代码中添加条件,循环和等待,并且无法维护框架。