【发布时间】:2014-03-09 02:19:17
【问题描述】:
我正在开发 Selenium WebDriver 并使用 Java。如果我执行注销功能,它不会通过 ID 找到元素。下面是代码:
Log.info("Clicking on Logout button");
//driver.findElement(By.id("moreLink")).click();
if(existsElement("logoutLink") == true) {
WebElement menuHoverLink = driver.findElement(By.id("logoutLink"));
actions.moveToElement(menuHoverLink).click().perform();
Thread.sleep(6000);
}
else {
Log.info("element not present");
System.out.println("element not present -- so it entered the else loop");
}
下面是 HTML 标签:
<li>
<a id="logoutLink" href="https://10.4.16.159/index/logout/">Log Out</a>
</li>
【问题讨论】:
-
首先,如果你的方法existsElement()返回布尔值,你不需要匹配true。其次,是在页面上显示的注销链接,当您执行单击它时,因为它似乎存在于某种叠加层上。最后你为什么要鼠标悬停而不是直接点击??
-
给出 existsElement 方法的代码。我们可以改进它以适应您的情况。
标签: java jquery html selenium selenium-webdriver