环境java+selenium2+junit4+chrome进行识别验证码
1.首先获取验证码图片的元素xpath既可以
WebElement element = driver.findElement(By.xpath(".//*[@id=‘app’]/div/form/div[2]/div[2]/div[3]/div/img"));//验证码图片识别
2.将识别的验证码图片进行截图保存操作
//获取这个页面图片
java.io.File screenshot = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
BufferedImage fullImg = ImageIO.read(screenshot);
// Get the location of element on the page
Point point = element.getLocation();
// Get width and height of the element
int eleWidth = element.getSize().getWidth();
int eleHeight = element.getSize().getHeight();
// Crop the entire page screenshot to get only element screenshot
BufferedImage eleScreenshot= fullImg.getSubimage(point.getX(), point.getY(),
eleWidth, eleHeight);
ImageIO.write(eleScreenshot, “png”, screenshot);
// Copy the element screenshot to disk
File screenshotLocation = new File(“D:/yzm/yan.png”);
FileUtils.copyFile(screenshot, screenshotLocation);
3.对保存下来的验证码截图进行识别操作(OCR识别)
@echo off
tesseract.exe D:\yzm\yan.png D:\yzm\result -psm 6
exit
讲该段脚本保存为.bat格式,存放在放图片的文件夹下,然后执行此bat文件
public static String read_yzm() {
String cmd = “cmd /c start D:/yzm/tesseract.bat”;
try {
Runtime.getRuntime().exec(cmd);
} catch (Exception e) {
e.printStackTrace();
}
//线程阻塞6秒等待tesseract.bat执行完成
Thread.sleep(6000);
//执行tesseract.bat识别图片后生成result.txt文件中保存识别后验证码
//读取result.txt文件获取验证码
// ReadTxt
String yzmTxt = readTxt(“D:/yzm/result.txt”);
System.out.println(yzmTxt);
return yzmTxt;
4.下面为读取txt文件的java写法:
public static String readTxt(String txtPath) {
File file = new File(txtPath);
if(file.isFile() && file.exists()){
try {
FileInputStream fileInputStream = new FileInputStream(file);
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
StringBuffer sb = new StringBuffer();
String text = null;
while((text = bufferedReader.readLine()) != null){
sb.append(text);
}
return sb.toString();
} catch (Exception e) {
e.printStackTrace();
}
}
return txtPath ;
}

java Selenium2进行验证码识别相关推荐

  1. java 12306验证码识别_GitHub - sunqipeng-cn/JavaVerify: 用java 编写的验证码识别

    基于惯性大水滴滴水算法和支持向量机的验证码识别 Inertial big drop fall algorithm, libsvm Introduction: Functions: 1.Download ...

  2. java tess4j mave_Java 验证码识别库 Tess4j 学习

    Java 验证码识别库 Tess4j 学习 [在用 java 的 Jsoup 做爬虫爬取数据时遇到了验证码识别的问题(基于 maven ),找了网上挺多的资料,发现 Tess4j 可以自动识别验证码, ...

  3. java 爬中 验证码识别_JAVA爬虫---验证码识别技术(一)

    Python中有专门的图像处理技术比如说PIL,可以对验证码一类的图片进行二值化处理,然后对图片进行分割,进行像素点比较得到图片中的数字.这种方案对验证码的处理相对较少,运用相对普遍,很多验证码图片可 ...

  4. 我的世界java下载慢怎么办_只需要这三步,用Java也能图片识别

    作者:不学无数的程序员 最近闲来无事研究了一下用 Java 如何模拟浏览器的行为,在实验登录的步骤时碰到了识别验证码的问题,于是在网上查找了关于 Java 如何进行图片识别验证码,由于根据网上查找的相 ...

  5. java 识别图片 边框_atitit.验证码识别step3----去除边框---- 图像处理类库 attilax总结java版本...

    atitit.验证码识别step3----去除边框----图像处理类库 attilax总结java版本 1. 去除边框思路原理 图像裁剪::从图片的Positions.CENTER,wid,hit)裁 ...

  6. Java 验证码识别之多线程打码兔

    验证码识别,爬虫永远的话题~ 用打码兔总体的体验就是单线程速度太慢~ importjava.io.IOException;importjava.net.MalformedURLException;im ...

  7. 【java】opencv + Tesseract(tess4j) 实现图片处理验证码识别

    2022/12/27 有的小伙伴说maven导入不了依赖,加了一种方法,百分百解决. 2022/12/28 写了半天,想去论坛放松休息下,结果看到别人已经有成品了,难受啊马飞,晚点看情况要不要写个搭建 ...

  8. java ocr 验证码_Ocrking图片识别之Java实现本地验证码的识别 | 学步园

    本实例代码为Java实现本地验证码的识别 依赖库为 httpclient-4.2 使用最新的库 需要修改部分代码 Author: niostars@gmail.com //构造一个httpclient ...

  9. Ocrking图片识别之Java实现本地验证码的识别

    最近一个项目需要用到验证码的识别,网上找到了Ocrking的识别平台,就拿来使用一下.平台为Java一下是实现方式: 转载请写明出处: 本实例代码为Java实现本地验证码的识别 依赖库为 httpcl ...

最新文章

  1. 浅析Spring——控制反转IoC
  2. Web前端之html_day2
  3. 产业|嵌入式传感器将是未来机器人等技术增长的核心
  4. Windows下通过MinGW进行WxWidgets的动态编译与静态编译
  5. 自由群,外代数和泛包络代数
  6. Linux 网络层收发包流程及 Netfilter 框架浅析
  7. SAP成都研究院廖婧:SAP C4C社交媒体集成概述
  8. 深入理解python面向对象_转:Python3 面向对象,较为深入的两个理解
  9. 谈谈button标签和input标签的区别
  10. vmware传东西到linux后文件变小,在VMWARE的Linux虚拟机上删除大容量文件后硬盘空间大小还不变怎么办?虚拟机虚拟机的各种应用及问题...
  11. 【干货】2020十大消费新机遇.pdf(附下载链接)
  12. Oracle与MySQL使用区别
  13. oracle 体系结构及内存管理 14_锁
  14. 动态添加GRIDVIEW内容 和数据绑定
  15. 记录一次重装win10系统的流程
  16. NLP数据标注工具调研
  17. Apache + svn 服务搭建
  18. 浏览器中performance的基本使用
  19. 【Ydui.js】------ ydui.js 中的 util 中的方法讲解如何调用使用 例如:获取地址栏信息,js 倒计时,cookie, 获取图片地址等
  20. 无法打开网上邻居计算机,win7网上邻居在哪 无法访问怎么办【图文】

热门文章

  1. Ubuntu -- 下如何查看CPU信息, 包括位数和多核信息
  2. 安卓创建SQLite数据库
  3. python 二进制转八进制_python二级题——二进制转八进制
  4. 三菱触摸屏GS2107和FX3U通过485通讯
  5. Android——ContentProvider详解
  6. textarea 修改placeholder样式
  7. 生命周期理论(转载)
  8. filter:blur() 实现毛玻璃效果
  9. 贪吃蛇游戏(面向对象)
  10. libevent2笔记(Timer和Http Client的应用和注意点)