zoukankan      html  css  js  c++  java
  • Selenium+Java 浏览器操作(一)

    1.获取当前url和title

    /*获取当前url和title*/
    		System.out.println("URL="+dr.getCurrentUrl());              //获取当前url
    		System.out.println("title="+dr.getTitle());                   //获取当前页面title
    

      

    2.浏览器的前进,后退,刷新,跳转链接

    package selenium;
    
    
    import java.util.Set;
    import java.util.concurrent.TimeUnit;
    
    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.firefox.FirefoxDriver;
    import org.openqa.selenium.interactions.Actions;
    
    public class SeleniumJava {
    
    	public static void main(String[] args) throws InterruptedException {
    		WebDriver dr = new FirefoxDriver();
    		dr.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); //智能等待页面加载
    		dr.get("https://login.taobao.com/member/login.jhtml?redirectURL=https%3A%2F%2Fwww.taobao.com%2F%3Fspm%3Da1z10.3-c.1581860521.1.UnxmXn");
    		
    		dr.findElement(By.id("TPL_username_1")).sendKeys("username");
    		dr.findElement(By.id("TPL_password_1")).sendKeys("password");
    		Thread.sleep(10000);                                        //为了逃避验证码,停留10秒手动输入的...
    		dr.findElement(By.id("J_SubmitStatic")).click();
    		
    		dr.findElement(By.id("mc-menu-hd")).click();                //点击“购物车”进入购物车页面
    		
    		/*获取当前url和title*/
    		System.out.println("URL="+dr.getCurrentUrl());              
    //获取当前url,URL=https://cart.taobao.com/cart.htm?spm=a21bo.7724922.1997525049.1.KVSHxW&from=mini&ad_id=&am_id=&cm_id=&pm_id=1501036000a02c5c3739 System.out.println("title="+dr.getTitle());
    //获取当前页面title,title=淘宝网 - 我的购物车 /*浏览器的前进,后退,刷新,跳转链接*/ dr.navigate().to("http://www.baidu.com"); //跳转至url:baidu dr.navigate().back(); //后退:购物车 dr.navigate().forward(); //前进:百度 dr.navigate().refresh(); //刷新:百度页面刷新 dr.quit(); //退出 } }

    3.浏览器窗口之间切换

    package selenium;
    
    
    import java.util.Set;
    import java.util.concurrent.TimeUnit;
    
    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.firefox.FirefoxDriver;
    import org.openqa.selenium.interactions.Actions;
    
    public class SeleniumJava {
    
    	public static void main(String[] args) throws InterruptedException {
    	    	   WebDriver driver = new FirefoxDriver();
    	    	       driver.get("http://baidu.com");
    	    	       //获得输入框对象
    	    	       WebElement input=driver.findElement(By.xpath("//input[@id='kw']"));
    	    	       //搜索安居客
    	    	       input.sendKeys("anjuke");
    	    	       //获得提交按钮对象
    	    	       WebElement button=driver.findElement(By.xpath("//input[@id='su']"));
    	    	       button.click();
    	    	       //这里必须设定一个暂停时间,百度搜索结果页面加载的速度没有程序执行的速度快
    	    	       //等待2S以等页面加载完成
    	    	       try {
    	    	           Thread.sleep(2000); 
    	    	         } catch (InterruptedException e) {
    	    	           System.out.print(e.toString());
    	    	         }  
    	    	       //获取第一个搜索结果
    	    	       WebElement a=driver.findElement(By.xpath("//div[@id='1']/h3/a"));
    	    	       a.click();
    	    	       driver=switchWindow(driver,"北京二手房");
    	    	       System.out.println("成功切换到"+driver.getTitle());
    	    	  
    	    	       driver.quit();
    	    	    }
    	    	     
    	    	    private static WebDriver switchWindow(WebDriver dr,String winTitle){
    	    	        //获取当前浏览器窗口标识
    	    	        String currentHandle=dr.getWindowHandle();
    	    	        //获取所有浏览器窗口标识
    	    	        Set<String> handles=dr.getWindowHandles();
    	    	        for(String handle:handles){
    	    	           if(handle.equals(currentHandle))
    	    	               continue;
    	    	           else{
    	    	              dr.switchTo().window(handle);
    	    	              if(dr.getTitle().contains(winTitle)){
    	    	                 break;
    	    	              }else
    	    	                  continue;
    	    	           }
    	    	        }
    	    	        return dr;
    	    	    }
    }
    

      

    4.关闭浏览器窗口

     driver.close();close方法关闭浏览器窗口。
     driver.quit();quit方法是用来退出driver的,每一次启动chrome都会启动一个chrome.drivre进程,需使用quit方法退出。

                                                                                                                                                               

  • 相关阅读:
    Cookie
    Servlet请求和响应
    Servlet
    Tomcat
    jQuery
    HTTP协议和ajax
    WebApp制作和正则
    BOM对象和json
    视频和音频
    改变文档结构的方法(5种)
  • 原文地址:https://www.cnblogs.com/xiaowei89426/p/4972263.html
Copyright © 2011-2022 走看看