在自动化过程中,有些导航按钮只有当鼠标悬浮在登录信息上时,它才能出现。这时候如果想要点击导航按钮直接用selenium的webDriver是无法定位的元素的,因为这些元素是隐藏的,只有鼠标悬浮时才出现,所以要记录一下,给大家一个参考
Actions action = new Actions(driver); WebElement nav=driver.findElement(By.xpath("/html/body/div[1]/div/div[1]/div[2]/div/ul/li/a/span")); //if found the link, then hover over the link to display the menu. if(nav.isDisplayed()){ System.out.println("found================="); action.moveToElement(nav).build().perform(); } // action.moveToElement(nav).moveByOffset(3, 3).build().perform(); //click the displayed menu // driver.findElement(By.xpath("/html/body/div[1]/div/div[1]/div[2]/div/ul/li/ul/li[2]/a")).click(); //click the logout menu via js JavascriptExecutor js = (JavascriptExecutor) driver; WebElement logout=driver.findElement(By.xpath("//a[contains(@href, '/GlobalDataTaxonomy/user/signout')]")); // String myjs="$('//a[contains(@href, '/GlobalDataTaxonomy/user/signout')]').click();"; js.executeScript("arguments[0].click();",logout); driver.close(); |