python 安装使用tesseract,完成验证码图像识别;使用ssenium下载Chromedriver 模拟浏览器
pytesseract/tesseror
tesseract 下载地址:https://digi.bib.uni-mannheim.de/tesseract/
遇到的问题:
1.FileNotFoundError: [WinError 2] 系统找不到指定的文件
解决方法:
方法1[推荐]: 将tesseract.exe添加到环境变量PATH中,
例如: D:\Tesseract-OCR,默认路径为C:\Program Files (x86)\Tesseract-OCR
注意: 为了使环境变量生效,需要关闭cmd窗口或是关闭pycharm等ide重新启动
方法2: 修改pytesseract.py文件,指定tesseract.exe安装路径
| 1 | # CHANGE THIS IF TESSERACT IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY | 
方法3: 在实际运行代码中指定
| 1 | pytesseract.pytesseract.tesseract_cmd = 'D:\\Tesseract-OCR\\tesseract.exe' | 
2.pytesseract.pytesseract.TesseractError: (1, ‘Error opening data file \Tesseract-OCR\tessdata/eng.traineddata’)
解决方法:
方法1[推荐]:
将tessdata目录的上级目录所在路径(默认为tesseract-ocr安装目录)添加至TESSDATA_PREFIX环境变量中
例如: C:\Program Files (x86)\Tesseract-OCR
| 1 | Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory. | 
方法2: 在.py文件配置中指定tessdata-dir
| 1 | tessdata_dir_config = '--tessdata-dir "D:\\Tesseract-OCR\\tessdata"' | 
sessnium
环境安装
| 1 | python+selenium+pycharm+webdriver | 
安装后需要,下载对应的Chromedriver驱动https://sites.google.com/a/chromium.org/chromedriver/downloads/version-selection
使用webDriver API
https://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.common.action_chains
识别元素
三、识别元素
- 基本元素定位 - driver.find_element_by_id( - 'id_value').send_keys(- '最新疫情咨讯') #通过id定位- driver.find_element_by_name(‘name_value’- ).send_keys(‘最新疫情咨讯’- ) #通过name定位driver.find_element_by_class_name(- 'class_name_value').send_keys(- '最新疫情信息') #通过- class元素定位- driver.find_element_by_tag_name( - 'input').send_key(- '最新疫情咨讯') #通过tag_name定位,<缺点:tag_name值不唯一>- driver.find_element_by_link_text(‘新闻’- ).click() #link_text链接中的文本 <缺点:只对标签生效>- driver.find_element_by_partial_link_text( - '新').click() #partial_link_text部分链接中的文本 <缺点:只对标签生效>
- xpath定位元素