js的应用
用以更改元素的样式和属性
public void jsDemo() {
WebDriver driver=new ChromeDriver();
driver.get("https://www.baidu.com");
JavascriptExecutor js=(JavascriptExecutor) driver;
js.executeScript("document.getElementById('su').type='hidden';"); //style=' '
}
video视频控制
public void video() throws InterruptedException {
WebDriver driver=new ChromeDriver();
driver.get("http://www.w3school.com.cn/tiy/loadtext.asp?f=html5_video_simple");
WebElement v=driver.findElement(By.tagName("video"));
JavascriptExecutor je=(JavascriptExecutor) driver;
je.executeScript("return arguments[0].play();", v);
Thread.sleep(10000);
je.executeScript("return arguments[0].pause();", v);
}
一组元素的识别和操作
public void checkDemo() {
List<WebElement> f=driver.findElements(By.name("Fruit"));
f.get(0).click();
for(WebElement checkbox:f) {
checkbox.click();
}
}
页面时间等待的方法
Thread.sleep()
implicityWait 识别对象时超出的超时时间。单位秒。
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
pageLoadTimeout 页面加载的超时时间。单位秒。
driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.SECONDS);
鼠标和键盘的模拟
Actions action=new Actions(driver);
//鼠标悬浮
action.clickAndHold(driver.findElement(By.linkText("x"))).perform();
//鼠标双击
action.doubleClick().perform();
//鼠标右击
action.contextClick();
//拖拽操作
action.dragAndDrop(source, target).perform();
Cookie
public void login() {
WebDriver driver=new ChromeDriver();
Cookie c1=new Cookie("BDUSS","BDUSS=1UUlBqREdsaDd-bWFGVlR3MDNOaUZsTWVjRXd2cVpDTjdEeTREY2o5amFRMzVjQVFBQUFBJCQAAAAAAAAAAAEAAACeXy2F0qPUtszsueLI68POwLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANq2VlzatlZcV0");
driver.manage().addCookie(c1);
driver.navigate().refresh();
//获得Cookie
Set<Cookie> coo=driver.manage().getCookies();
System.out.println(coo);
}
检查元素状态
isEnable() 元素是否可用
isSelected() 元素是否被选中
isDisplay() 元素是否可见