悠悠小仙仙 发表于 2017-7-18 10:49:45

selenium webdriver学习 02 – 对浏览器的简单操作

selenium webdriver对浏览器的简单操作
打开一个测试浏览器
对浏览器进行操作首先需要打开一个浏览器,接下来才能对浏览器进行操作。但要注意的是,因为Chrome Driver是Chromium 项目自己支持和维护的,所以你必需另外下载安装Chrome Driver,详细介绍查下他们的wiki。
CODE:
<font size="3">import java.io.File;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxBinary;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;


public class OpenBrowsers {

      
    public staticvoid main(String[] args) {
      //打开默认路径的firefox
      WebDriver diver = new FirefoxDriver();
         
      //打开指定路径的firefox,方法1
      System.setProperty("webdriver.firefox.bin","D:\\Program Files\\Mozilla Firefox\\firefox.exe");
      WebDriver dr = new FirefoxDriver();
         
      //打开指定路径的firefox,方法2
      File pathToFirefoxBinary = new File("D:\\Program Files\\Mozilla Firefox\\firefox.exe");   
      FirefoxBinary firefoxbin = new FirefoxBinary(pathToFirefoxBinary);   
      WebDriver driver1 = new FirefoxDriver(firefoxbin,null);
         
      //打开ie
      WebDriver ie_driver = new InternetExplorerDriver();
         
      //打开chrome
      System.setProperty("webdriver.chrome.driver","D:\\chromedriver.exe");
      System.setProperty("webdriver.chrome.bin",
                                             "C:\\Documents and Settings\\gongjf\\Local Settings"
                                             +"\\Application Data\\Google\\Chrome\\Application\\chrome.exe");      
         
    }

}</font>CODE:
<font size="3">import java.io.File;
   
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxBinary;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
   
   
public class OpenBrowsers {
   
      
    public static void main(String[] args) {
      //打开默认路径的firefox
      WebDriver diver = new FirefoxDriver();
         
      //打开指定路径的firefox,方法1
      System.setProperty("webdriver.firefox.bin","D:\\Program Files\\Mozilla Firefox\\firefox.exe");   
      WebDriver dr = new FirefoxDriver();
         
      //打开指定路径的firefox,方法2
      File pathToFirefoxBinary = new File("D:\\Program Files\\Mozilla Firefox\\firefox.exe");   
      FirefoxBinary firefoxbin = new FirefoxBinary(pathToFirefoxBinary);   
      WebDriver driver1 = new FirefoxDriver(firefoxbin,null);
         
      //打开ie
      WebDriver ie_driver = new InternetExplorerDriver();
         
      //打开chrome
      System.setProperty("webdriver.chrome.driver", "D:\\chromedriver.exe");
      System.setProperty("webdriver.chrome.bin",
                                             "C:\\Documents and Settings\\gongjf\\Local Settings"
                                             +"\\Application Data\\Google\\Chrome\\Application\\chrome.exe");         
         
    }
   
}</font>打开指定路经ie和chrome方法和ff一样。
打开1个具体的url
打开一个浏览器后,我们需要跳转到特定的url下,看下面代码:
CODE:
<font size="3">import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class OpenUrl {
    public staticvoid main(String []args){
      String url = "http://www.51.com";
      WebDriver driver = new FirefoxDriver();
         
      //用get方法
      driver.get(url);
         
      //用navigate方法,然后再调用to方法
      driver.navigate().to(url);
    }
}</font>CODE:
<font size="3">import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
   
public class OpenUrl {
    public static void main(String []args){
      String url = "http://www.51.com";
      WebDriver driver = new FirefoxDriver();
         
      //用get方法
      driver.get(url);
         
      //用navigate方法,然后再调用to方法
      driver.navigate().to(url);
    }
}</font>如何关闭浏览器
测试完成后,需要关闭浏览器
CODE:
<font size="3">import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class CloseBrowser {
    public staticvoid main(String []args){
      String url = "http://www.51.com";
      WebDriver driver = new FirefoxDriver();
         
      driver.get(url);
         
      //用quit方法
      driver.quit();
         
      //用close方法   
      driver.close();
      }
}</font>CODE:
<font size="3">import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
   
public class CloseBrowser {
    public static void main(String []args){
      String url = "http://www.51.com";
      WebDriver driver = new FirefoxDriver();
         
      driver.get(url);
         
      //用quit方法
      driver.quit();
         
      //用close方法   
      driver.close();
      }
}</font>如何返回当前页面的url和title
有时候我们需要返回当前页面的url或者title做一些验证性的操作等。代码如下:
CODE:
<font size="3">import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class GetUrlAndTitle {
    public staticvoid main(String []args){
      String url = "http://www.51.com";
      WebDriver driver = new FirefoxDriver();
         
      driver.get(url);
         
                //得到title
      String title = driver.getTitle();

                //得到当前页面url
      String currentUrl = driver.getCurrentUrl();
         
                //输出title和currenturl
      System.out.println(title+"\n"+currentUrl);
         
      }
}</font>CODE:
<font size="3">import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
   
public class GetUrlAndTitle {
    public static void main(String []args){
      String url = "http://www.51.com";
      WebDriver driver = new FirefoxDriver();
         
      driver.get(url);
         
                //得到title
      String title = driver.getTitle();
   
                //得到当前页面url
      String currentUrl = driver.getCurrentUrl();
         
                //输出title和currenturl
      System.out.println(title+"\n"+currentUrl);
         
      }
}</font>其他方法

[*]getWindowHandle() 返回当前的浏览器的窗口句柄
[*]getWindowHandles() 返回当前的浏览器的所有窗口句柄
[*]getPageSource() 返回当前页面的源码

小结
从上面代码可以看出操作浏览器的主要方法都来自org.openqa.selenium.WebDriver这个接口中。看了一下源代码这些方法都 是在org.openqa.selenium.remote.RemoteWebDriver这个类中实现的,然后不同浏览的driver类继承 RemoteWebDriver。

啦啦啦啦哈 发表于 2017-7-18 15:07:07

给力的楼主:loveliness:

51test_wy 发表于 2017-7-23 13:29:46

很好呀

winson1234 发表于 2017-7-28 09:46:27

:'(
页: [1]
查看完整版本: selenium webdriver学习 02 – 对浏览器的简单操作