Selenium_WebDriver_控制浏览器

版权声明:本文为博主原创文章,转载请注明出处。


 浏览器环境:

  ①GoogleChrome:60

  ②chromedriver:2.30;

访问

操作

方法

示例

访问页面

void get(java.lang.String url)

driver.get("http://xueshu.baidu.com");

void to(java.lang.String url)

driver.navigate().to("http://news.baidu.com");  

控制浏览器窗口大小

浏览器窗口大小

方法

示例

自定义大小

void setSize(Dimension targetSize)

说明:设置窗体大小为480*800

实现:driver.manage().window().setSize(new Dimension(480, 800));

全屏

void maximize()

说明:设置窗体为全屏

实现:driver.manage().window().maximize();

控制浏览器后退、前进

  在使用浏览器浏览网页时,浏览器提供了后退和前进按钮,可以方便地在浏览过的网页之间切换,WebDriver也提供了一些方法用于这些操作;

操作

方法

示例

后退

void back()

driver.navigate().back();

前进

void forward()

driver.navigate().forward();

driver.getCurrentUrl()   //返回driver所停留的当前页的url

刷新浏览器

  有时候我们在执行完某些操作后,需要手动刷新浏览器,以便获取最新的数据。

操作

方法

示例

刷新

void refresh()

driver.navigate().refresh();

滚动条滑动

   我们需要借助 JavaScript 来控制浏览器的滚动条。WebDriver 提供了 executeScript()方法来执行 JavaScript 代码。

操作

方法

说明

滚动条移动

executeScript()

操作对象类型是 JavascriptExecutor,需要将WebDriver转为JavascriptExecutor

示例1

//移动到指定的坐标

((JavascriptExecutor)driver).executeScript("window.scrollTo(100,900);");

示例2

//移动到页面最底部

((JavascriptExecutor) driver).executeScript("window.scrollTo(0, document.body.scrollHeight)");

 附测试代码:package com.SeleniumLib.jase;

package com.SeleniumLib.jase;

import org.openqa.selenium.By;
import org.openqa.selenium.Dimension;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class ControlBrowser {
    public static void main(String[]args) throws InterruptedException{
        
        System.out.println("start selenium");

        WebDriver   driver;    
        System.setProperty("webdriver.chrome.driver","D:/selenium-java-3.5.3/chromedriver.exe");   //chromedriver驱动的本地存放路径   
        driver = new ChromeDriver(); 

        //访问页面
        /*driver.navigate().to("http://news.baidu.com");
        driver.get("http://xueshu.baidu.com");*/
        
        //控制浏览器窗口大小
        /*driver.manage().window().setSize(new Dimension(480, 800));//设置浏览器大小为480*800
        driver.manage().window().maximize();//浏览器全屏显示
        driver.get("http://www.baidu.com/"); */
        
        //控制浏览器后退、前进
        /*driver.get("http://news.baidu.com");
        System.out.println("CurrentUrl"+driver.getCurrentUrl()); 
        driver.get("http://xueshu.baidu.com");
        System.out.println("CurrentUrl"+driver.getCurrentUrl()); 
        driver.navigate().back();
        System.out.println("CurrentUrl"+driver.getCurrentUrl()); 
        driver.navigate().forward();
        System.out.println("CurrentUrl"+driver.getCurrentUrl()); */
        
        //刷新浏览器
        /*driver.get("http://news.baidu.com");
        driver.navigate().refresh();*/
        
        //滚动条下拉操作
        driver.get("http://www.baidu.com");
        driver.findElement(By.id("kw")).sendKeys("Selenium");
        driver.findElement(By.id("su")).click();
        Thread.sleep(2000);
        ((JavascriptExecutor)driver).executeScript("window.scrollTo(100,900);");  //移动到指定的坐标(X,Y),X表示水平的左间距,Y表示垂直的上边距
        Thread.sleep(2000);
        ((JavascriptExecutor) driver).executeScript("window.scrollTo(0, document.body.scrollHeight)");  //移动到页面最底部   
        
        
        System.out.println("end selenium");
        ///////driver.close();  //测试时为了更直观直接注释掉了,也可使用延时
       
    }
}

  


参考:

Selenium Java API:https://seleniumhq.github.io/selenium/docs/api/java/index.html

http://blog.csdn.net/jlminghui/article/details/50477283

 

posted @ 2017-09-19 14:30  天使未必在场  阅读(486)  评论(0编辑  收藏  举报