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定位元素