import static org.junit.jupiter.api.Assertions.*;
import java.util.concurrent.TimeUnit;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;
/*
- 鼠标悬停操作,当鼠标放在某一个控件当时候,控件有可点击的菜单出现。
*/
class Hovering {
WebDriver driver;
private JavascriptExecutor js;
String baseurl;
@BeforeEach
void setUp() throws Exception {
//谷歌浏览器的本地驱动
System.setProperty("webdriver.chrome.driver", "/Users/lisen/webselenium/selenium/chromedriver");
//初始化浏览器
driver =new ChromeDriver();
//强转
js=(JavascriptExecutor) driver;
baseurl="file:///Users/lisen/Downloads/PracticePage2.html";
//隐性等待
driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
//窗口最大化
driver.manage().window().maximize();
}
@Test
void test() throws Exception {
//打开网址
driver.get(baseurl);
//等待
Thread.sleep(3000);
//向下滚动网址
js.executeScript("window.scrollBy(0, 600)");
//等待
Thread.sleep(3000);
//查找鼠标悬停类
WebElement mainelement=driver.findElement(By.id("mousehover"));
Actions action=new Actions(driver);
//鼠标移动到元素位置
action.moveToElement(mainelement).perform();
Thread.sleep(3000);
//点击鼠标悬停的类
WebElement subElement = driver.findElement(By.xpath("//div[@class='mouse-hover-content']/a[text()='回到顶部']"));
action.moveToElement(subElement).click().perform();
Thread.sleep(3000);
}
@AfterEach
void tearDown() throws Exception {
Thread.sleep(3000);
driver.quit();
//浏览器关闭
}
}