1、没看上一期的建议先去看上一期博客,这期也是对上一期的续写(如果我们的指令不管用记得一定眼看看有没有休眠等待浏览器渲染界面)
2、获取title
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.WebDriverWait;
import java.util.List;
import java.util.concurrent.TimeUnit;
import static java.lang.Thread.sleep;
import static java.util.concurrent.TimeUnit.SECONDS;
public class ceshi {
public static void main(String[] args) throws InterruptedException {
test();
}
private static void test() throws InterruptedException {
//创建一个驱动
WebDriver webDriver=new ChromeDriver();
//打开百度首页
webDriver.get("https://www.baidu.com");
String title=webDriver.getTitle();
}
}
3、获取url
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.WebDriverWait;
import java.util.List;
import java.util.concurrent.TimeUnit;
import static java.lang.Thread.sleep;
import static java.util.concurrent.TimeUnit.SECONDS;
public class ceshi {
public static void main(String[] args) throws InterruptedException {
test();
}
private static void test() throws InterruptedException {
//创建一个驱动
WebDriver webDriver=new ChromeDriver();
//打开百度首页
webDriver.get("https://www.baidu.com");
String url=webDriver.getCurrentUrl();
}
}
4、浏览器最大化
//创建一个驱动
WebDriver webDriver=new ChromeDriver();
//打开百度首页
webDriver.get("https://www.baidu.com");
webDriver.manage().window().maximize();
5、设置打开浏览器的窗口大小
//创建一个驱动
WebDriver webDriver=new ChromeDriver();
//打开百度首页
webDriver.get("https://www.baidu.com");
webDriver.manage().window().setSize(new Dimension(200,200));
6、前进页面(跳到下一个页面)
webDriver.navigate().forward();
7、后退页面(返回前一个页面)
webDriver.navigate().back();
8、下面的两个代码是等效的
webDriver.get("https://www.baidu.com");
webDriver.navigate().to("https://www.baidu.com");
9、将我们的浏览器滚动条滑到最下面
((JavascriptExecutor)webDriver).executeScript("document.documentElement.scrollTop=10000");
10、将我们的浏览器滚动条滑到最上面
((JavascriptExecutor)webDriver).executeScript("document.documentElement.scrollTop=0");
11、这个浏览器滚动条滑到哪里看我们后面的取值,取值越大滚动条越靠下
12、控制键盘按键
举例一个:在百度搜索框点击enter回车
webDriver.findElement(By.cssSelector("#kw")).sendKeys(Keys.ENTER);
13、点击键盘复合按键(crtl+X)全选
webDriver.findElement(By.cssSelector("#kw")).sendKeys(Keys.CONTROL,"X");
14、鼠标点击事件
import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.WebDriverWait;
import java.util.List;
import java.util.concurrent.TimeUnit;
import static java.lang.Thread.sleep;
import static java.util.concurrent.TimeUnit.SECONDS;
public class ceshi {
public static void main(String[] args) throws InterruptedException {
test();
}
private static void test() throws InterruptedException {
//创建一个驱动
WebDriver webDriver=new ChromeDriver();
//打开百度首页
webDriver.get("https://www.baidu.com");
webDriver.navigate().to("https://www.baidu.com");
webDriver.findElement(By.cssSelector("#kw")).sendKeys("张三");
webDriver.findElement(By.cssSelector("#kw")).sendKeys(Keys.ENTER);
Actions actions=new Actions(webDriver);
sleep(1500);
WebElement target=webDriver.findElement(By.cssSelector("#s_tab > div > a.s-tab-item.s-tab-item_1CwH-.s-tab-pic_p4Uej.s-tab-pic"));
actions.moveToElement(target).contextClick(target).perform();
}
}
15、获取标签页资源(目前两个标签页)切换窗口
(1)获取百度一下这第一个句柄
String handle=webDriver.getWindowHandle();
(2)跳转到第二个句柄(百度新闻)for循环步骤有多种实现方法
Set<String> handles=webDriver.getWindowHandles();
String target="";
for (String temp:handles){
target=temp;
}
//target现在存的是我们最后一个窗口句柄
//将我们的窗口句柄切换大最后一个窗口句柄
webDriver.switchTo().window(target);
16、截图操作
首先引入maven依赖(可以去maven中央仓库去找)以文件方式截图
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.15.1</version>
</dependency>
File file= ((TakesScreenshot)webDriver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(file,new File("D://截图.png"));
第一个OutputType.FILE是以文件方式这里可以切换,第二行是指截屏放在哪里