zoukankan      html  css  js  c++  java
  • selenium webdriver学习(二)————对浏览器的简单操作(转载JARVI)

    selenium webdriver对浏览器的简单操作

    打开一个测试浏览器

    对浏览器进行操作首先需要打开一个浏览器,接下来才能对浏览器进行操作。但要注意的是,因为Chrome Driver是Chromium 项目自己支持和维护的,所以你必需另外下载安装Chrome Driver,详细介绍查下他们的wiki 

    Java代码  收藏代码
    1. import java.io.File;  
    2.   
    3. import org.openqa.selenium.WebDriver;  
    4. import org.openqa.selenium.firefox.FirefoxBinary;  
    5. import org.openqa.selenium.firefox.FirefoxDriver;  
    6. import org.openqa.selenium.ie.InternetExplorerDriver;  
    7.   
    8. public class OpenBrowsers {  
    9.   
    10.       
    11.     public static void main(String[] args) {  
    12.         //打开默认路径的firefox  
    13.         WebDriver diver = new FirefoxDriver();  
    14.           
    15.         //打开指定路径的firefox,方法1  
    16.         System.setProperty("webdriver.firefox.bin","D:\Program Files\Mozilla Firefox\firefox.exe");   
    17.         WebDriver dr = new FirefoxDriver();  
    18.           
    19.         //打开指定路径的firefox,方法2  
    20.         File pathToFirefoxBinary = new File("D:\Program Files\Mozilla Firefox\firefox.exe");    
    21.         FirefoxBinary firefoxbin = new FirefoxBinary(pathToFirefoxBinary);    
    22.         WebDriver driver1 = new FirefoxDriver(firefoxbin,null);  
    23.           
    24.         //打开ie  
    25.         WebDriver ie_driver = new InternetExplorerDriver();  
    26.           
    27.         //打开chrome  
    28.         System.setProperty("webdriver.chrome.driver", "D:\chromedriver.exe");  
    29.         System.setProperty("webdriver.chrome.bin",  
    30.                                              "C:\Documents and Settings\gongjf\Local Settings"  
    31.                                              +"\Application Data\Google\Chrome\Application\chrome.exe");         
    32.           
    33.     }  
    34.   
    35. }  

     打开指定路经ie和chrome方法和ff一样。

    打开1个具体的url

    打开一个浏览器后,我们需要跳转到特定的url下,看下面代码:

    Java代码  收藏代码
    1. import org.openqa.selenium.WebDriver;  
    2. import org.openqa.selenium.firefox.FirefoxDriver;  
    3.   
    4. public class OpenUrl {  
    5.     public static void main(String []args){  
    6.         String url = "http://www.51.com";  
    7.         WebDriver driver = new FirefoxDriver();  
    8.           
    9.         //用get方法  
    10.         driver.get(url);  
    11.           
    12.         //用navigate方法,然后再调用to方法  
    13.         driver.navigate().to(url);  
    14.     }  
    15. }  

    如何关闭浏览器

    测试完成后,需要关闭浏览器

    Java代码  收藏代码
    1. import org.openqa.selenium.WebDriver;  
    2. import org.openqa.selenium.firefox.FirefoxDriver;  
    3.   
    4. public class CloseBrowser {  
    5.     public static void main(String []args){  
    6.         String url = "http://www.51.com";  
    7.         WebDriver driver = new FirefoxDriver();  
    8.           
    9.         driver.get(url);  
    10.           
    11.         //用quit方法  
    12.         driver.quit();  
    13.           
    14.         //用close方法    
    15.         driver.close();  
    16.         }  
    17. }  

    如何返回当前页面的url和title

    有时候我们需要返回当前页面的url或者title做一些验证性的操作等。代码如下:

    Java代码  收藏代码
    1. import org.openqa.selenium.WebDriver;  
    2. import org.openqa.selenium.firefox.FirefoxDriver;  
    3.   
    4. public class GetUrlAndTitle {  
    5.     public static void main(String []args){  
    6.         String url = "http://www.51.com";  
    7.         WebDriver driver = new FirefoxDriver();  
    8.           
    9.         driver.get(url);  
    10.           
    11.                 //得到title  
    12.         String title = driver.getTitle();  
    13.   
    14.                 //得到当前页面url  
    15.         String currentUrl = driver.getCurrentUrl();  
    16.           
    17.                 //输出title和currenturl  
    18.         System.out.println(title+" "+currentUrl);  
    19.           
    20.         }  
    21. }  

    其他方法

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

     

    小结

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

  • 相关阅读:
    Delphi通过调用COM对象实现更改桌面壁纸
    Delphi之TDrawGrid绘制
    Delphi中的消息截获(六种方法:Hook,SubClass,Override WndProc,Message Handler,RTTI,Form1.WindowProc:=@myfun)good
    从一般管理原则看微软的重组
    Delphi使用Windows API函数AnimateWindow实现窗体特效
    Delphi下URL汉字编码解码的两个函数
    Delphi2007下CIS的clHttp使用
    Delphi使用XmlHttp获取时间
    提升进程权限为DEBUG权限
    VS 2012 单元测试简单配置
  • 原文地址:https://www.cnblogs.com/yye2010/p/4596889.html
Copyright © 2011-2022 走看看