触发当前元素的点击事件
driver.get("https://www.ketangpai.com/");
WebElement element = driver.findElement(By.xpath("//a[text()='教师培训']"));
element.click();
清空内容
element.sendKeys(Keys.CONTROL,"a"); // ctrl+a
element.sendKeys(Keys.ENTER); // 回车
element.sendKeys(Keys.BACK_SPACE); // 删除
获取元素的标签名
根据属性名获取元素属性
获取当前元素的文本值
查看元素是否显示
查看元素是否可用
查看元素是否选中
访问指定url
获取当前页面地址
获取当前页面标题
获取当前页面源码
关闭驱动对象以及所有相关的窗口
关闭当前窗口
关于浏览器的基本功能操作,大部分由navigate
对象提供
Navigation navigation = driver.navigation();
访问指定的url地址
navigation.to(url);
刷新当前页面
navigation.refresh();
浏览器回退操作
navigation.back();
浏览器前进操作
navigation.forward();
关于窗口的设置,基本都是由windows对象提供的
Window windows = driver.manage().window();
最大化
窗口位置
窗口大小
设置位置
设置窗口大小
WebDriver.Window window = driver.manage().window();
// 最大化
window.maximize();
// 全屏
window.fullscreen();
// 获取位置
window.getPosition();
// 获取大小
window.getSize();
单位毫秒
Thread.sleep()
优点:使用简单
缺点:容易造成时间浪费
在设置的超时时间范围内不断查找元素,知道找到元素或者超时
driver.manage().timeouts().implicitlyWait(long time,TimeUnit unit)
优点:相对灵活
缺点:设置是针对全局的,在WebDriver
实例整个生命周期有效,但并不是所有的元素都需要等待
不能适用更复杂的情况如:元素可点击,元素可见
// 隐式等待3秒
driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
自定义一段代码,用来等待某个条件发生后再继续执行后续代码(如:找到元素,元素可点击,元素已显示)
WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement username = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("username")));
优点:每隔一段时间扫描一次页面,检查元素是否满足等待结果条件,比如查找元素,则检查元素是存在,不存在则继续等待,直到找到或超时。
该方法不是全局设置,特定需要等待的元素可以这样设置