我正在使用Selenium WebDriver並使用Java。如果我執行註銷功能,它不會通過ID找到該元素。下面是代碼:元素未找到,其他部分被執行 - Selenium web驅動程序
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_相匹配。其次,註銷鏈接顯示在頁面上,當你點擊它時,因爲它似乎出現在某種疊加層上。最後,你爲什麼要做鼠標懸停而不是直接點擊? – Husam
給** existsElement **方法的代碼。我們可以改進它以適合您的情況。 – Husam