• Selenium常用API的使用java语言之7-控制浏览器操作


    (六)控制浏览器操作

    1.控制浏览器窗口大小

    有时候我们希望能以某种浏览器尺寸找开,访问的页面在这种尺寸下运行。例如可以将浏览器设置成移动端大小(480* 800),然后访问移动站点,对其样式进行评估;WebDriver 提供了 manage().window().setSize()方法来设置浏览器的大小。

    • maximize() 设置浏览器最大化
    • setSize() 设置浏览器宽高
    import org.openqa.selenium.Dimension;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.chrome.ChromeDriver;
     
     
    public class Browser {
      public static void main(String[] args) throws InterruptedException {
     
        WebDriver driver= new ChromeDriver();
        driver.get("https://www.baidu.cn");
     
        driver.manage().window().maximize();
        Thread.sleep(2000);
     
        driver.get("https://m.baidu.cn");
        driver.manage().window().setSize(new Dimension(480, 800));
        Thread.sleep(2000);
     
        driver.quit();
      }
    }
    

    在 PC 端执行自动化测试脚本大多的情况下是希望浏览器在全屏幕模式下执行, 那么可以使用 maximize()方法使打开的浏览器全屏显示, 其用法与 setSize()相同, 但它不需要任何参数。

    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 
    ", driver.getCurrentUrl());
        Thread.sleep(2000);
     
        //点击“新闻” 链接
        driver.findElement(By.linkText("新闻")).click();
        System.out.printf("now accesss %s 
    ", driver.getCurrentUrl());
        Thread.sleep(2000);
     
        //执行浏览器后退
        driver.navigate().back();
        System.out.printf("back to %s 
    ", driver.getCurrentUrl());
        Thread.sleep(2000);
     
        //执行浏览器前面
        driver.navigate().forward();
        System.out.printf("forward to %s 
    ", driver.getCurrentUrl());
        Thread.sleep(2000);
     
        driver.quit();
      }
    }
    

    为了看清脚本的执行过程,下面每操作一步都通过printf()方法来打印当前的URL地址。

    3.刷新页面

    有时候需要手动刷新(F5) 页面。

    • refresh() 刷新页面(F5)
    ……
    //刷新页面
    driver.navigate().refresh();
    ……
    
  • 相关阅读:
    基础总结篇之一:Activity生命周期
    浅析Android中的消息机制
    详解Android中AsyncTask的使用
    URLConnection的连接、超时、关闭用法总结
    使用Open Flash Chart(OFC)制作图表(Struts2处理)
    用dTree组件生成无限级导航树
    jQuery插件Jeditable的使用(Struts2处理)
    Python Day 56 Django框架学习、学生管理系统迭代二、前后端交互数据传输方式、前台两种跳转方式、form表单详解
    Python Day 55 Django框架、利用学生管理系统来学习Django框架 (版本一)、数据库封装成类、单表操作新url方式、模态对话框
    Python Day 54 Django框架、web请求流程、状态码、自定义web框架
  • 原文地址:https://www.cnblogs.com/zhizhao/p/11303175.html
Copyright © 2020-2023  润新知