本文接着学习WebDriver,java这个类文件中的关于driver操作的接口,本篇介绍Navigation接口,主要包括平时浏览器的前进,后退,打开网址,刷新当前页操作。在Navigation接口下,我能找到下面四个方法:
void back()
void forward()
void to(String url)
void to(URL url)
void refresh()
先来解释下他们的作用,back()就是浏览器上地址栏前面向左的箭头,一般叫后退操作。forward()就是浏览器上地址栏前面向右边的箭头,一般叫前进操作,或者转到下一页。to(String url)就是在当前网页打开一个新的网页,这个和新的tab打开是有区别的,to(URL url)也是一样,就是url被作为一个URL对象传入,这个不怎么使用,这里不介绍。refresh()这个就是浏览器刷新按钮操作,或者等同于按下F5。
下面用一个示例来演示上面几个方法的使用。
package lessons;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class LuanchChrome {
public static void main(String[] args) throws Exception {
System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
driver.get("https://www.baidu.com");
Thread.sleep(2000);
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
// to(String url)在当前页打开新的网页
driver.navigate().to("http://news.baidu.com");
Thread.sleep(2000);
// back()后退到百度首页
driver.navigate().back();
Thread.sleep(2000);
// forward() 前进到百度新闻
driver.navigate().forward();
Thread.sleep(2000);
// 刷新当前页
driver.navigate().refresh();
}
}
为了运行效果可见,上面多次使用了 Thread.sleep(2000),这是一个线程强制暂停的代码,2000指的是2秒,单位是毫秒。这里的这个线程指的就是driver这个实例对象。Navigation接口的相关操作就介绍到这里,希望对你有所帮助。