模拟登陆时,经常会遇到有验证码的问题,那么就需要把验证码给截取下来。

如下为截取验证码程序,该程序的原始地址为:http://www.cnblogs.com/donaldlee2008/p/5304504.html

有需要配置运行程序的请联系我:1563178220@qq.com

package login;import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.By;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.Point;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;public class Test1 {public static void main(String[] args) throws IOException {System.setProperty("webdriver.gecko.driver", "chrome\\geckodriver.exe");WebDriver driver = new FirefoxDriver();; driver.get("http://weixin.sogou.com/antispider/?from=%2fweixin%3Ftype%3d2%26query%3dz+%26ie%3dutf8%26s_from%3dinput%26_sug_%3dy%26_sug_type_%3d");WebElement ele = driver.findElement(By.id("seccodeImage"));// Get entire page screenshotjava.io.File screenshot = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);BufferedImage  fullImg = ImageIO.read(screenshot);// Get the location of element on the pagePoint point = ele.getLocation();// Get width and height of the elementint eleWidth = ele.getSize().getWidth();int eleHeight = ele.getSize().getHeight();// Crop the entire page screenshot to get only element screenshotBufferedImage eleScreenshot= fullImg.getSubimage(point.getX(), point.getY(),eleWidth, eleHeight);ImageIO.write(eleScreenshot, "png", screenshot);// Copy the element screenshot to diskFile screenshotLocation = new File("E:/钱洋个人/IdentifyingCode/test.png");FileUtils.copyFile(screenshot, screenshotLocation);WebElement classelement = driver.findElement(By.className("p2"));String errorText=classelement.getText();System.out.println("验证码"+classelement.getText());}
}

如下,为我程序运行结果:

很神奇,网页中的验证码被成功截取到了本地。

selenium模拟登陆时截取验证码相关推荐

  1. java使用Selenium模拟登陆58(验证码登陆密码登陆)若快平台识别文字点击验证码

    文章目录 写在前面 配置环境 Selenium入门 使用Selenium登陆58 若快平台识别文字点击验证码 附: By对象中的 xpath & cssSelector获取方式** 不打开浏览 ...

  2. Python使用selenium模拟登陆,截取图片验证码并转化为base64

    研究好几天截取图片验证码,今天终于好了,主要图片验证在第二个iframe里面,所以在截取的时候,必须先定位最外面的iframe的坐标(简称frame1),然后在定位嵌套里面的iframe(简称fram ...

  3. python中selenium(模拟登陆)+pytesseract(自动识别验证码)应用例子之查询住房公积金

    这里以查询深圳住房公积金为例(http://gjj.sz.gov.cn/fzgn/zfcq/) from selenium import webdriver # 模拟浏览器操作 from PIL im ...

  4. 使用selenium模拟登陆,手机验证码

    大众点评 from time importsleepfrom selenium importwebdriverimportrandomdefprocess_request(self,request,s ...

  5. selenium模拟登陆之截屏验证码位置跑偏

    在用selenium做爬虫的模拟登陆时遇到验证码图片截取下来的和目标区域的图片不匹配 截到的: 目标是这样的: 明显坐标写的不对,导致截屏区域不是验证码的区域. 只能一步一步取修改坐标,来确定具体的图 ...

  6. python爬虫爬网站数据登录_使用webdriver+urllib爬取网页数据(模拟登陆,过验证码)...

    urilib是python的标准库,当我们使用Python爬取网页数据时,往往用的是urllib模块,通过调用urllib模块的urlopen(url)方法返回网页对象,并使用read()方法获得ur ...

  7. 使用webdriver+urllib爬取网页数据(模拟登陆,过验证码)

    urilib是python的标准库,当我们使用Python爬取网页数据时,往往用的是urllib模块,通过调用urllib模块的urlopen(url)方法返回网页对象,并使用read()方法获得ur ...

  8. selenium模拟登陆教务系统

    之前学习了selenium的安装和上手,现在来一次模拟登陆教务系统.有基础的同学可以直接拿走代码,去写抢课的脚本,但是估计效果不会蛮好.登陆页面如下 解除右键禁用 当然在此之前因为这个教务系统网站不能 ...

  9. selenium模拟登陆豆瓣并获取cookies

    验证码处理与模拟登陆豆瓣,首先我们看到豆瓣没有cookies,我们需要用程序来模拟登陆获取cookies(当前有些情况下自己手动登陆后复制粘贴cookies也能登陆),该文主要讲方法,如何用selen ...

最新文章

  1. 代码洁癖的春天!Java 效率工具之 Lombok
  2. JUC里面的相关分类|| java并发编程中,关于锁的实现方式有两种synchronized ,Lock || Lock——ReentrantLock||AQS(抽象队列同步器)
  3. wegame饥荒一直连接中_腾讯WeGame注册用户超3亿 国产游戏销量超500万
  4. 计算机组装图示,台式机组装教程-台式机DIY装机教程示意图(自己动手组装电脑)...
  5. OpenCV学习笔记(十一):阈值化:threshold(),adaptivethreshold()
  6. Spring 创建对象的方式
  7. H264参数SPS(序列参数集)和PPS(图像参数集)说明
  8. 2.8 计算图的导数计算
  9. 从表象到本质,包你一文看懂NFT
  10. chrome上字体模糊问题处理
  11. 异步多线程之入门必知
  12. 户外风景拍摄自然风光摄影网站搭建模板
  13. 微信小程序简单好看的表格器
  14. R数据挖掘 第四篇:OLS回归分析
  15. 解决vue-router报NavigationDuplicated: Avoided redundant navigation to current location: “/login“ 的问题
  16. python 20秒画完小猪佩奇“社会人”
  17. excel中文本格式如何批量转化成数字
  18. java中的arg是什么意思_java中args是什么意思?
  19. 查看 WIFI 密码
  20. java版刺客信条1_new宝可梦随乐拍

热门文章

  1. 国内最大最全的交换技术专区上线
  2. 卸载利器IObit Uninstaller Portable v9.4.0.20绿化版
  3. 再见 XShell 和 ITerm 2,是时候拥抱全平台高颜值终端工具 Hyper 了!
  4. SpringBoot调用RESTful Web服务
  5. OSX上摆脱vagrant搭建CoreOS集群
  6. Solaris 中的环境变量
  7. 磁盘分区20191017
  8. Docker 配置,详细说明 daemon.json 的作用
  9. ERR! sharp EACCES: permission denied, mkdir ‘/root/.npm/_libvips‘......
  10. eslint 中文解释