zoukankan      html  css  js  c++  java
  • 第4章 Selenium2-java WebDriver API (三)

    4.12  上传文件

     4.12.1  sendKeys实现上传

     html

    <html>
     <head>
     </head>
     <body>
      <div class="row_fluid">
       <div class="span10 well">
       <h3>Upfile</h3>
       <input type="file" name="file"/>
       </div>
      </div> 
     </body> 
    </html>

     java代码:

    package upfile;
    
    import java.io.File;
    
    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.firefox.FirefoxDriver;
    
    public class Upfile {
        public static void main(String[] args) throws InterruptedException {
            System.out.println("start");
            WebDriver driver = new FirefoxDriver();
            File file = new File("C:/Users/Administrator/Desktop/upfile.html");
            String filePath = file.getAbsolutePath();
            driver.get(filePath);
            
            driver.findElement(By.name("file")).sendKeys("D:\BugReport.txt");
            Thread.sleep(2000);
            driver.close();
        }
    
    }

    4.14  下载文件

    package upfile;
    
    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.firefox.FirefoxDriver;
    import org.openqa.selenium.firefox.FirefoxProfile;
    
    public class Download {
       public static void main(String[] args) {
        FirefoxProfile firefox=new FirefoxProfile();
        //browser.download.folderList  设置成0代表下载到浏览器默认下载路径,设置成2则可以保存到指定目录。
        firefox.setPreference("browser.download.folderList", 2);
        // browser.download.manager.showWhenStarting 是否显示开始;Ture为显示,Flase为不显示。
        firefox.setPreference("browser.download.manager.showWhenStarting", false);
        //browser.download.dir 用于指定所下载文件的目录。os.getcwd() 函数不需要传递参数,用于返回当前的目录。
        firefox.setPreference("browser.download.dir", "d:\Program Files");
        // browser.helperApps.neverAsk.saveToDisk 指定要下载页面的Content-type值,“application/octet-stream”为文件的类型。  
        // HTTP Content-type常用对照表:http://tool.oschina.net/commons
        firefox.setPreference("browser.helpApps.neverAsk.saveToDisk", "application/octet-stream");
        
        WebDriver driver=new FirefoxDriver(firefox);
        driver.get("http://pan.baidu.com/share/link?shareid=3048009203&uk=375774229#list/path=%2F");
        driver.findElement(By.xpath(".//*[@id='shareqr']/div[2]/div[2]/div/ul[1]/li[1]/div/span[1]")).click();
        driver.findElement(By.xpath(".//*[@id='bd-main']/div/div[1]/div/div[2]/div/div/div[2]/a[2]/span/span")).click();
        driver.findElement(By.xpath(".//*[@id='_disk_id_3']/span")).click();
          
          
    }
    }

    4.15  操作Cookie

      

    package com.cy.selenium;
    import java.util.Set;
    
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.firefox.FirefoxDriver;
    
    public class Cookie {
        
        public static void main(String[] args) {
            WebDriver  driver=new FirefoxDriver();
            driver.get("http://www.baidu.com/");
             /*WebDriver操作cookie的方法::
               ·getCookies()            获得所有cookie信息。
               ·getCookieNamed(String name)   返回字典的key为“name”的cookie信息。
               ·addCookie(cookie dict)         添加cookie。“cookie_dict”指字典对象,必须有name 和value 值。
               ·deleteCookieNamed(String name)     删除cookie信息。“name”是要删除的cookie的名称;“optionsString”是该cookie的选项,目前支持的选项包括“路径”,“域”。
               ·deleteAllCookies()      删除所有cookie信息。
               */
             Set<org.openqa.selenium.Cookie> coo=driver.manage().getCookies();
            System.out.println(coo);
        }
    
    }

    4.16  调用JavaScript

    package com.cy.selenium;
    
    import org.openqa.selenium.By;
    import org.openqa.selenium.Dimension;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.firefox.FirefoxDriver;
    import org.openqa.selenium.JavascriptExecutor;
    
    public class JavaScript {
        public static void main(String[] args) throws InterruptedException {
            System.out.println("===============");
             WebDriver driver=new FirefoxDriver();
                 driver.manage().window().setSize(new Dimension(700, 600));
                 driver.get("http://www.baidu.com/");
                 driver.findElement(By.id("kw")).sendKeys("JavaScript");
                 driver.findElement(By.id("su")).click();
                 Thread.sleep(2000);
                 // 拖动滚动条  window.scrollTo(左边距,上边距);
                ((JavascriptExecutor)driver).executeScript("window.scrollTo(100,450);");
             
                 Thread.sleep(3000);
                 System.out.println("end");
                 
                 driver.quit();
        }
    
    
    
    }

     

  • 相关阅读:
    Spring中这么重要的AnnotationAwareAspectJAutoProxyCreator类是干嘛的?
    Spring到底应该学哪些内容?
    如何评价《Java 并发编程艺术》这本书?
    在腾讯工作是一种怎样的体验?
    图解 HTTP 连接管理
    42 张图带你撸完 MySQL 优化
    我是如何进入腾讯的?
    《计算机网络 PDF》搞起!
    JSR
    RelationNet:学习目标间关系来增强特征以及去除NMS | CVPR 2018
  • 原文地址:https://www.cnblogs.com/hellokitty1/p/6349813.html
Copyright © 2011-2022 走看看