第六讲案例

使用selenium手动打码

本案例使用的网站是国家发票查验平台,需要使用IE浏览器才能正常访问,因此请按照第六讲中的教程完成相关配置。在者准备一张发票,京东电子发票即可。https://inv-veri.chinatax.gov.cn/
该案例除了配置IE浏览器外,主要有两点:

  • 实践显示等待的语法
wait.until(EC.presence_of_element_located((By.XPATH, '//td[@id="imgarea"]/div/a'))).click()

EC是导包时expected_conditions的别名,presence_of_element_located指元素显示为条件,括号内的参数注意是元组,(By.xpath/id/css_selector,‘对应的语法’),不是括号内有两个元素。

  • 程序堵塞的用法
    由于验证码人工输入和AI识别、打码平台都需要一定的时间,因此在得到验证码之前程序堵塞必不可少,可以用input方法人工堵塞,也可以使用显示等待以某个参照元素为条件。
    该案例的完整代码如下:
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By


def open_ie():
    """
    请求并输入参数
    :return:
    """
    # 1、请求url
    driver.get('https://inv-veri.chinatax.gov.cn/')
    # 2、使用显示等待输入
    # 发票代码
    wait.until(EC.presence_of_element_located((By.ID, 'fpdm'))).send_keys('输入发票代码')
    # 发票号码
    wait.until(EC.presence_of_element_located((By.ID, 'fphm'))).send_keys('输入发票号码')
    # 开票日期
    wait.until(EC.presence_of_element_located((By.ID, 'kprq'))).send_keys('输入开票日期')
    # 校验码
    wait.until(EC.presence_of_element_located((By.ID, 'kjje'))).send_keys('输入校验码后六位')



def main():
    """
    程序的主线任务
    :return:
    """
    # 1输入发票信息
    open_ie()
    # 2点击图片加载验证码
    wait.until(EC.presence_of_element_located((By.XPATH, '//td[@id="imgarea"]/div/a'))).click()
    # 技术点二
    yzm = input('请输入验证码:')  # 阻塞
    # 3、输入验证
    wait.until(EC.presence_of_element_located((By.ID, 'yzm'))).send_keys(yzm)
    # 点击验证
    wait.until(EC.presence_of_element_located((By.ID, 'checkfp')))


if __name__ == '__main__':
    driver = webdriver.Ie()
    # 最高等待20s
    wait = WebDriverWait(driver, 20)
    main()

百度AI文字识别发票信息

步骤一:在百度 AI 网站找到发票识别的接口信息。

  • 百度搜索百度AI,进入官网
    在这里插入图片描述
    点击进入控制台
    在这里插入图片描述
    注册并登录账号:
    在这里插入图片描述
    选择产品服务–>人工智能下的文字识别,点击进入
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值