Я работаю над Selenium WebDriver и использую Java. Если я выполняю функцию «Выход», она не находит элемент через идентификатор. Ниже приведен код:Элемент не найден и еще часть выполнена - веб-драйвер Selenium
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>
Во-первых, если ваш метод существуетElement() возвращает boolean, вам не нужно сопоставлять его с _true_. Во-вторых, это ссылка на выход, отображаемая на странице, когда вы нажимаете на нее, потому что она, кажется, присутствует на каком-то наложении. Наконец, почему вы делаете наведение мыши, а не прямой щелчок? – Husam
Дайте код для ** existElement ** метода. Мы можем улучшить его работу для вашего дела. – Husam