使用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();