tesseract结合selenium快速搜索图片中的文字
2016-01-04 15:55
405 查看
大家有没有遇到过这样的问题:当我们看到有些图片中的文字(比如论文中的图片或公式等),想搜索一下,但苦于不能直接复制,只能手动敲入在百度的搜索框;或者碰到其他复制比较麻烦的地方,比如cmd窗口,也是如此.这样费时费力,还可能会输入错误。
因此我尝试用python的验证码识别模块tesseract和自动化测试模块selenium写了个很简单的python程序,可以将想要搜索的文字截图下来保存在python程序当前目录下,运行Python程序就会调用tesseract识别然后selenium自动百度之,成功率还挺高的,以下是完整代码:
因此我尝试用python的验证码识别模块tesseract和自动化测试模块selenium写了个很简单的python程序,可以将想要搜索的文字截图下来保存在python程序当前目录下,运行Python程序就会调用tesseract识别然后selenium自动百度之,成功率还挺高的,以下是完整代码:
# -*- coding: utf-8 -*- import pytesseract as rec from PIL import Image from selenium import webdriver from selenium.common.exceptions import NoSuchElementException from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By def verify(filename): #识别截图并返回字符串 image = Image.open(filename) code = rec.image_to_string(image) return code #得到cmd窗口中的关键字 keyword = verify('cmd.png') #打开浏览器并百度上述关键字 browser = webdriver.Firefox() browser.get('https://www.baidu.com') try: search = WebDriverWait(browser,timeout=2).until(EC.presence_of_element_located((By.ID,'kw')),message='timeout') search.send_keys(keyword) #模拟点击“百度一下” browser.find_element_by_class_name('bg s_btn_wr').click() except NoSuchElementException as e: assert e.message
相关文章推荐
- C++语言为什么跨平台?
- 如何在Mac电脑上创建一个签名身份(Signing Identity)
- 蛇形填数之斜着排
- 设计师网站
- python基础:列表生成式和生成器
- Android:屏幕适配
- JAVA多线程机制之线程创建
- linux启动_grub
- Java 对象拷贝
- redis学习进程--nosql和sql区别
- Unity3D中的工具类-Time类
- fpga出来的 clock的幅度有问题
- fedora 23环境下设置环境变量
- AppServ中配置问题
- ,遇到某个类中有很多相似的方法,区别只是后缀不同,可以通过这个方法,实现拼接方法名而调用方法
- 用Maven插件生成Mybatis代码
- Iconfont-阿里巴巴矢量图标库
- android系统调用百度DistanceUtil.getDistance()死机
- 火狐浏览器Firefox Developer Edition安装Firebug问题处理
- 你应该知道的25道Javascript面试题