操作浏览器的主要方法都来自 org.openqa.selenium.WebDriver 这个接口
这些方法都是在 org.openqa.selenium.remote.RemoteWebDriver这个类中实现的,然后不同浏览的 driver类继承RemoteWebDriver
1. 打开一个浏览器
1 //IE浏览器 2 System.setProperty("webdriver.ie.driver", ".\Tools\IEDriverServer.exe"); 3 WebDriver driver = new InternetExplorerDriver(); 4 5 //Chrome 6 System.setProperty("webdriver.chrome.driver", ".\Tools\chromedriver.exe"); 7 WebDriver driver = new ChromeDriver(); 8 9 //FireFox(自定义安装) 10 System.setProperty("webdriver.firefox.bin", "D:\ProgramFiles\Mozilla Firefox\firefox.exe"); 11 //FireFox版本大于48,默认安装 12 System.setProperty("webdriver.firefox.marionette", ".\Tools\geckodriver.exe"); 13 //FireFox版本小于48 14 System.setProperty("webdriver.firefox.marionette", ".\Tools\geckodriver.exe"); 15 WebDriver driver = new FirefoxDriver();
2. 打开一个URL
1 //两种方式实现的效果一样 2 String url = "http://www.baidu.com"; 3 driver.get(url); 4 driver.navigate().to(url);
3. 浏览器导航
1 // 后退,跳转到上一页 2 driver.navigate().back(); 3 // 前进,跳转到下一页 4 driver.navigate().forward (); 5 // 当前页刷新 6 driver.navigate().refresh(); 7 // 浏览器窗口最大 8 driver.manage().window().maximize(); 9 // 自定义设置浏览器尺寸 10 driver.manage().window().setSize(new Dimension(width, heigth));
4. 关闭浏览器
1 // 关闭当前页面 2 driver.close(); 3 // 关闭由selenium所启动的所有页面 4 driver.quit();
5. 返回当前页面的title和url
1 // 返回当前页面的Ttile 2 String title = driver.getTitle(); 3 // 返回当前页面的url 4 String currentUrl = driver.getCurrentUrl();
6. 其他常见方法
1 // 返回当前的浏览器的窗口句柄 2 String currentWindowHandle = driver.getWindowHandle() 3 // 返回当前的浏览器的所有窗口句柄 4 Set<String> allWindowHandles = driver.getWindowHandles(); 5 // 返回当前页面的源码 6 String currentPageSource = getPageSource()