第4章 Selenium2-java WebDriver API (三)

简介: 4.12  上传文件  4.12.1  sendKeys实现上传  html Upfile    java代码: package upfile; import java.
+关注继续查看

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();
    }



}

 

 

相关文章
|
12小时前
|
JSON API 数据格式
如何获取虾皮shopee根据ID取商品详情 API接口
以下是一篇关于如何使用Shopee API接口根据商品ID获取商品详情的5000字文章,包括API接口的基本信息、请求方法、请求参数、返回数据等,以及使用Python进行API调用的示例代码。
|
1天前
|
JSON API 开发者
淘宝获取购物车的商品列表 API接口
淘宝提供了获取购物车商品列表 API 接口,允许开发者通过编程方式获取用户购物车中的商品列表。这个 API 接口可以帮助开发者更好地了解用户在购物车中添加了哪些商品,以及每个商品的基本信息,例如商品 ID、名称、价格、数量等。
|
7月前
|
缓存 前端开发 JavaScript
使用 webdriver API 编写自动化脚本的基本语法
1. 打开和关闭浏览器 1)打开浏览器并访问 URL 2)关闭浏览器窗口 2. 元素的定位 1)以 id 定位元素 2)以 name 定位元素 3)以 tag name 定位元素 4)以 class name 定位元素 5)以 xpath 定位元素 6)以 css selector 定位元素 7)以 link text 定位元素 8)以 partial link text 定位元素 3. 操作测试元素 1)键盘输入与鼠标点击 2)submit 提交表单 3)获取元素内容 4. 添加等待 1)sleep 休眠 2)智能等待 5. 打印网页 title 和 URL 6. 浏览器操作 1)设置浏览器
112 0
|
11月前
|
移动开发 前端开发 JavaScript
Selenium WebDriver API 学习笔记(三):浏览器控制
Selenium WebDriver API 学习笔记(三):浏览器控制
100 0
|
11月前
|
测试技术 API Python
Selenium WebDriver API 学习笔记(二):浏览器控制
Selenium WebDriver API 学习笔记(二):浏览器控制
95 0
|
11月前
|
前端开发 测试技术 API
Selenium WebDriver API 学习笔记(一):元素定位
Selenium WebDriver API 学习笔记(一):元素定位
71 0
|
存储 前端开发 JavaScript
【测试开发】自动化测试selenium(二)——webdriver常用的API(二)
一个简单的脚本 元素的定位 id和name定位 tag name 和 class name定位 CSS定位 XPath定位 link text 定位 Partial link text 操作测试对象 鼠标点击与键盘输入 submit提交表单 text 获取元素文本
【测试开发】自动化测试selenium(二)——webdriver常用的API(二)
|
Web App开发 XML 前端开发
【测试开发】自动化测试selenium(二)——webdriver常用的API(一)
一个简单的脚本 元素的定位 id和name定位 tag name 和 class name定位 CSS定位 XPath定位 link text 定位 Partial link text 操作测试对象 鼠标点击与键盘输入 submit提交表单 text 获取元素文本
【测试开发】自动化测试selenium(二)——webdriver常用的API(一)
|
Web App开发 Java API
|
Web App开发 前端开发 Java
第4章 Selenium2-java WebDriver API (二)
4.8  定位一组元素  定位一组元素的方法与定位单个元素的方法类似,唯一的区别是在单词element后面多了一个s表示复数。定位一组元素一般用于以下场景: ·批量操作元素,例如勾选页面上所有的复选框。
811 0
热门文章
最新文章
相关产品
云迁移中心
推荐文章
更多