环境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. golang reflect Pointer 获取 传入的interface信息
  2. Learning Rate--学习率的选择(to be continued)
  3. 四人帮–代理设计模式
  4. 武汉市江岸区2021年高考成绩查询,2021年武汉各区一、二、三批次高中有哪些(名单)...
  5. iOS Xcode7.2 is Not on Any Development Teams
  6. gridview的sort_Gridview自动排序功能的实现
  7. IRedMail 邮箱配置
  8. arcmap叠置分析_ArcGIS常见的叠加操作分析情况汇总
  9. MFC快速创建bmp图片
  10. window10 下载速度限制问题解决方案
  11. 外牌年检车辆在上海办理年检
  12. 软考高级信息系统项目管理师必备知识点(记忆敲出)
  13. 邮件编码介绍及乱码的解决
  14. java可视化计时器,java – 使用计时器动画JPanel(幻灯片)
  15. 如何在Cisco Packet Tracer中创建多个路由器虚拟局域网(方法一)
  16. LeetCode刷题(43)~汉明距离【异或+布赖恩·克尼根算法】
  17. 20210217 电感上的寄生电阻
  18. a标签里面设置onclick_详解a标签添加onclick事件的几种方式
  19. java基于SSM的宠物医院信息管理系统-计算机毕业设计
  20. 采购评标管理过程是怎样的?有哪些评标标准?

热门文章

  1. 英语口语练习十六之I was quite impressed by... (我对……的印象很深刻)的用法
  2. Java利用反射调用有参构造方法返回对象
  3. C | 进程和线程的区别
  4. 交流转直流的原理三相电冷地与热地
  5. 三菱R系列ST、RD77MS定位以及三菱触摸屏配方功能,此案例还提供两个触摸屏实现异地操作,使操作更加方便快捷
  6. 亿级流量架构演进实战 | 从零构建亿级流量API网关 01
  7. 细说InputStream和OutputStream
  8. php深浅拷贝,js实现深浅拷贝方法
  9. Java池化思想之数据库连接池
  10. 慧点科技新品牌SmartGO亮相 发力政企移动信息化