selenium 右键下载图片,结合sikuli
上一次写右键下载是结合robot,这次是使用selenium+sikuli
上一次日志:http://www.cnblogs.com/tobecrazy/p/3969390.html
有关sikuli的介绍,和简单使用请参考:http://www.cnblogs.com/tobecrazy/p/4516369.html
关于sikuli的缺点:
1.运行脚本时候,必须截图,图片比较占用系统空间
2.脚本执行过程中,不能移动鼠标,而selenium可以最小化,任意移动鼠标
话不多说,介绍一下场景:
1.打开百度
2.右键单击百度logo
3.点击弹出菜单的save as
4. 输入保存位置和文件名
5. 点击保存菜单
首先要做的是,截图,截图保存位置c:/selenium

脚本如下:
//create chrome webDriver with parameter
ChromeOptions options = new ChromeOptions();
options.addArguments("--test-type"); Screen screen=new Screen();
System.setProperty("webdriver.chrome.driver", "C:\\webdriver\\chromedriver.exe");
WebDriver driver = new ChromeDriver(options); String login_url="https://www.baidu.com/";
driver.get(login_url);
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(90, TimeUnit.SECONDS);
driver.manage().timeouts().pageLoadTimeout(90, TimeUnit.SECONDS); //find baidu logo
WebElement baiduLogo=driver.findElement(By.xpath("//div[@id='lg']/img"));
Actions actions = new Actions(driver);
//right click
actions.contextClick(baiduLogo).perform();
Pattern saveAs =new Pattern("c:\\selenium\\saveAs.png");
screen.click(saveAs);
Pattern inputBox1 =new Pattern("c:\\selenium\\inputBox1.png");
screen.find(inputBox1);
screen.type("c:\\selenium\\baiduLogo.png");
Pattern saveButton =new Pattern("c:\\selenium\\saveButton.png");
screen.click(saveButton);
//wait for 60s to verify download success or not
try
{
Thread.sleep(60000); } catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
finally
{
File f=new File("c:\\selenium\\baiduLogo.png");
if(f.exists())
{
System.out.println("PASS");
}
driver.close();
}
selenium 右键下载图片,结合sikuli的更多相关文章
- selenium - 截图下载图片
from selenium import webdriver from selenium.webdriver import ChromeOptions from time import sleep f ...
- selenium爬取优酷页面并下载图片
from selenium import webdriver import requests driver = webdriver.Chrome() #打开优酷 driver.get("ht ...
- 用python批量下载图片
一 写爬虫注意事项 网络上有不少有用的资源, 如果需要合理的用爬虫去爬取资源是合法的,但是注意不要越界,前一阶段有个公司因为一个程序员写了个爬虫,导致公司200多个人被抓,所以先进入正题之前了解下什么 ...
- selenium 3 下载 + Java使用
一.下载Selenium 3 的相关包和工具 Selenium 3 下载的官网地址为http://www.seleniumhq.org/download/.当然,需要翻墙才能登陆selenium的官网 ...
- Selenium获取动态图片验证码
Selenium获取动态图片验证码 关于图片验证码的文章,我想大家都有一定的了解了. 在我们做UI自动化的时候,经常会遇到图片验证码的问题. 当开发不给咱们提供万能验证码,或者测试第三方网站比如知乎的 ...
- 《手把手教你》系列技巧篇(五十六)-java+ selenium自动化测试-下载文件-上篇(详细教程)
1.简介 前边几篇文章讲解完如何上传文件,既然有上传,那么就可能会有下载文件.因此宏哥就接着讲解和分享一下:自动化测试下载文件.可能有的小伙伴或者童鞋们会觉得这不是很简单吗,还用你介绍和讲解啊,不说就 ...
- 《手把手教你》系列技巧篇(五十七)-java+ selenium自动化测试-下载文件-下篇(详细教程)
1.简介 前边几篇文章讲解完如何上传文件,既然有上传,那么就可能会有下载文件.因此宏哥就接着讲解和分享一下:自动化测试下载文件.可能有的小伙伴或者童鞋们会觉得这不是很简单吗,还用你介绍和讲解啊,不说就 ...
- C++根据图片url下载图片
需要使用到URLDownloadToFile()函数,该函数在头文件<urlmon.h>中声明. URLDownloadToFile()函数的定义如下: HRESULT URLDownlo ...
- .net 已知图片的网络路径,通过浏览器下载图片
没什么技术含量,主要留给自己查找方便: 如题,知道图片的完整网络路径的情况下,在浏览器中下载图片的实现: 下面这个方法实现的是把图片读取为byte数组: private byte[] GetImage ...
随机推荐
- Junit使用教程 转
几乎所有程序员都听说过Junit的大名,但不知真正懂得运用它的人有多少,我便是其中的一个小白. 知道Junit是用来测试的,但却把“宝刀”当成了“菜刀”用.为了从此不再菜鸟,特此总结整理了下Junit ...
- JS的splice()方法和slice()方法
在w3c school中描述如下: 定义和用法splice() 方法用于插入.删除或替换数组的元素.语法arrayObject.splice(index,howmany,element1,....., ...
- eclipse的html代码辅助失效解决办法
Eclipse IDE : .xhtml code assist is not working for JSF tag By mkyong | September 6, 2010 | Viewed : ...
- 怎么搭建Web Api
1.通常我们有个web 让后可以有个web api 提供接口2.通常我们分别建两个项目 web api 依赖web的来进行访问(说到底是依赖是IIS)3.我们先建个SmallCode.Test.Web ...
- linuxMint下安装ftp工具--filezilla
windows下ftp工具有好多,linux下推荐用filezilla 安装filezilla很简单,安装完后,使用方式和windows下面一样. 第一种方式: 直接去filezilla官网下载软件包 ...
- CSS hack 汇总
1, IE条件注释法,微软官方推荐的hack方式. <!]> IE6以及IE6以上版本可识别 <![endif]--> <!]> 仅IE7可识别 <![end ...
- git 初始化
Git global setup git config --global user.name "杨清1" git config --global user.email " ...
- TCP的流模式与UDP的报文模式对比
1 案例背景 在学习TCP-IP协议详解卷一时,读到介绍TCP协议的部分,发现TCP的首部是没有报文总长度字段的,而在UDP中是有的,对这个问题的思考引出了两者之间的区别. 2 案例 ...
- 在ashx中使用Server对象
Server.MapPath() System.Web.HttpContext.Current.Server.MapPath()
- [机器学习]信息&熵&信息增益
关于对信息.熵.信息增益是信息论里的概念,是对数据处理的量化,这几个概念主要是在决策树里用到的概念,因为在利用特征来分类的时候会对特征选取顺序的选择,这几个概念比较抽象,我也花了好长时间去理解(自己认 ...