3.selenium控制浏览器操作
1.控制浏览器窗口大小
有时候我们希望能以某种浏览器尺寸找开,访问的页面在这种尺寸下运行。例如可以将浏览器设置成移动端大小(480* 800),然后访问移动站点,对其样式进行评估;WebDriver 提供了 manage().window().setSize()方法来设置浏览器的大小。
- maximize() 设置浏览器最大化
- setSize() 设置浏览器宽高
import org.openqa.selenium.By; import org.openqa.selenium.Dimension; import org.openqa.selenium.chrome.ChromeDriver; public class Windows { public static void main(String[] args) throws InterruptedException { System.setProperty("webdriver.chrome.driver","/usr/local/bin/chromedriver");//这里输入chromedriver的安装目录 ChromeDriver driver = new ChromeDriver(); driver.get("https://www.baidu.com/"); driver.manage().window().maximize(); //浏览器最大化 try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } driver.findElement(By.name("wd")).click(); driver.findElement(By.name("wd")).sendKeys("selenium教程" ); driver.findElement(By.id("su")).click(); try { Thread.sleep(2000); }catch(InterruptedException e){ System.out.print("线程异常"); } String url = driver.getCurrentUrl(); driver.get(url); driver.manage().window().setSize(new Dimension(480, 800)); Thread.sleep(2000); driver.quit(); } }
2.控制浏览器后退、前进
在使用浏览器浏览网页时,浏览器提供了后退和前进按钮,可以方便地在浏览过的网页之间切换,WebDriver也提供了对应的back()和forward()方法来模拟后退和前进按钮。下面通过例子来演示这两个方法的使用。
-
- back() 模拟浏览器后退按钮
- forward() 模拟浏览器前进按钮
import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.By; public class BrowserGo { public static void main(String[] args) throws InterruptedException { WebDriver driver = new ChromeDriver(); //get 到百度首页 driver.get("https://www.baidu.com/"); System.out.printf("now accesss %s \n", driver.getCurrentUrl()); Thread.sleep(2000); //点击“新闻” 链接 driver.findElement(By.linkText("新闻")).click(); System.out.printf("now accesss %s \n", driver.getCurrentUrl()); Thread.sleep(2000); //执行浏览器后退 driver.navigate().back(); System.out.printf("back to %s \n", driver.getCurrentUrl()); Thread.sleep(2000); //执行浏览器前面 driver.navigate().forward(); System.out.printf("forward to %s \n", driver.getCurrentUrl()); Thread.sleep(2000); driver.quit(); } }
3.刷新页面
有时候需要手动刷新(F5) 页面。
- refresh() 刷新页面(F5)
-
driver.navigate().refresh();