使用Selenium定位鼠标悬浮出现的下拉菜单
1、介绍
一些网站为了能够提供更多入口给用户,在制作网站的时候往往会使用鼠标悬浮出现下拉菜单的功能。以CSDN首页为例,鼠标悬停在个人头像上,会出现与个人信息有关的下拉菜单,当鼠标移走,菜单消失。
当在进行自动化测试的时候,如果需要选取下拉菜单中的控件,就需要使用Selenium提供的与键盘操作有关的Actions组件了。
2、处理方式
//头像控件的XPath是//*[@id="csdn-toolbar"]/div/div/ul/li[4]/div[1]/a
//先定位到元素,然后使用actions调出下拉菜单,最后进行目标控件的定位
WebElement avatarElement = driver.findElement(By.xpath("//*[@id=\"csdn-toolbar\"]/div/div/ul/li[4]/div[1]/a"));
Actions actions = new Actions(driver);
actions.moveToElement(avatarElement).perform();
Thread.sleep(1000);
//定位目标元素。如果鼠标不悬浮的话,是找不到这个元素的。
driver.findElement(By.xpath("//*[@id=\"csdn-toolbar\"]/div/div/ul/li[4]/div[2]/div[1]/div[3]/a")).click();