1、跳转页面播放视频
我们以b站为例,测试是否可以点击模块进行播放视频
//点击页面看是否视频正常播放
public void turn() throws InterruptedException {
driver.findElement(By.cssSelector("#i_cecream > div.bili-feed4 > main > div.feed2 > div > div.container.is-version8 > div:nth-child(2) > div > div > a > div > div.bili-video-card__image--wrap > picture > img")).click();
Thread.sleep(3000);
driver.quit();
}
2、多次跳转页面
2.1 获得句柄,点击模块
//获得当前页面句柄
String windowHandle = driver.getWindowHandle();
driver.findElement(By.cssSelector("#s-top-left > a:nth-child(7)")).click();
Thread.sleep(2000);
2.2 获取全部句柄,切换窗口
//切换页面获得全部句柄
System.out.println(driver.getWindowHandles());
Set<String> windowHandles = driver.getWindowHandles();
for (String s : windowHandles) {
if(s != windowHandle){
//如果句柄不同就代表切页面了,所以要进行窗口切换
driver.switchTo().window(s);
}
}
2.3 切换之后再次关闭当前窗口,返回主页面并查看当前所有句柄
//切换之后再次关闭当前窗口,返回主页面
driver.close();
//打印当前的所有句柄查看有什么
System.out.println(driver.getWindowHandles());
2.4 切换回原始窗口,进行搜索,最后关闭浏览器
//切换回原始的窗口句柄
driver.switchTo().window(windowHandle);
//进行搜索,输入软件测试
driver.findElement(By.cssSelector("#kw")).sendKeys("软件测试");
//点击搜索键
driver.findElement(By.cssSelector("#su")).click();
//停止两秒
Thread.sleep(2000);
//关闭全部页面
driver.quit()
2.5 完整代码如下
//多次切换页面
public void Switch() throws InterruptedException {
//获得当前页面句柄
String windowHandle = driver.getWindowHandle();
driver.findElement(By.cssSelector("#s-top-left > a:nth-child(7)")).click();
Thread.sleep(2000);
//切换页面获得全部句柄
System.out.println(driver.getWindowHandles());
Set<String> windowHandles = driver.getWindowHandles();
for (String s : windowHandles) {
if(s != windowHandle){
//如果句柄不同就代表切页面了,所以要进行窗口切换
driver.switchTo().window(s);
}
}
//切换之后再次关闭当前窗口,返回主页面
driver.close();
//打印当前的所有句柄查看有什么
System.out.println(driver.getWindowHandles());
//切换回原始的窗口句柄
driver.switchTo().window(windowHandle);
//进行搜索,输入软件测试
driver.findElement(By.cssSelector("#kw")).sendKeys("软件测试");
//点击搜索键
driver.findElement(By.cssSelector("#su")).click();
//停止两秒
Thread.sleep(2000);
//关闭全部页面
driver.quit();
}