跳转至内容
  • 社区首页
  • 版块
  • 最新
  • 标签
  • 热门
折叠

GitHub中文论坛

  1. 主页
  2. 版块
  3. 技术交流
  4. 求助、制作一个自动流程

求助、制作一个自动流程

已定时 已固定 已锁定 已移动 技术交流
3 帖子 3 发布者 10.3k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • O 离线
    O 离线
    OU-YOU
    写于 最后由 编辑
    #1

    每天需要登录一个网页,登陆时需要输入账号、密码、验证码。登录后需要选择对应位置,新增网页表单,填报当日的一些数据。相关数据每天会统计在本地excel表格内,怎么能够实现自动登录网页、填写账号、密码、验证码,新增表单,并读取excel表格数据,并将相关数据填报至对应位置。感谢。

    1 条回复 最后回复
    0
    • loveme199L 离线
      loveme199L 离线
      loveme199
      写于 最后由 编辑
      #2

      自动网页登录,填写表单可以用 puppeteer 实现

      1 条回复 最后回复
      0
      • H 离线
        H 离线
        helloword1
        写于 最后由 helloword1 编辑
        #3

        Selenium:用于自动化网页操作,比如自动输入账号、密码、验证码,选择表单位置等。
        Pandas:用于读取 Excel 数据。

        1、读取 Excel 表格数据:

        import pandas as pd
        #读取 Excel 表格数据
        excel_path = '你的本地excel.xlsx'
        df = pd.read_excel(excel_path)
        # 假设表格有 'date', 'data1', 'data2' 列
        row_data = df[df['date'] == '今天日期']
        data1 = row_data['data1'].values[0]
        data2 = row_data['data2'].values[0]

        2、初始化 Selenium:

        from selenium import webdriver
        from selenium.webdriver.common.by import By
        from selenium.webdriver.common.keys import Keys
        driver = webdriver.Chrome()
        driver.get('your_login_url')

        2、自动填写账号、密码、验证码:

        # 找到并填写账号、密码
        driver.find_element(By.ID, 'username_field').send_keys('your_username')
        driver.find_element(By.ID, 'password_field').send_keys('your_password')
        # 获取验证码图片并识别(需要验证码不复杂的情况)
        captcha_image = driver.find_element(By.ID, 'captcha_image')
        captcha_image.screenshot('captcha.png')
        # 使用 OCR 识别验证码
        from pytesseract import image_to_string
        import cv2
        captcha_text = image_to_string(cv2.imread('captcha.png'))
        driver.find_element(By.ID, 'captcha_field').send_keys(captcha_text.strip())
        # 提交表单
        driver.find_element(By.ID, 'login_button').click()

        3、进入填报页面并填入 Excel 数据:

        # 进入对应页面
        driver.get('form_page_url')
        # 填写数据
        driver.find_element(By.ID, 'data1_field').send_keys(data1)
        driver.find_element(By.ID, 'data2_field').send_keys(data2)
        # 提交数据
        driver.find_element(By.ID, 'submit_button').click()

        4、关闭浏览器:

        driver.quit()

        这样可以完成基本的自动登录和填报数据流程。

        1 条回复 最后回复
        0
        回复
        • 在新帖中回复
        登录后回复
        • 从旧到新
        • 从新到旧
        • 最多赞同


        • 登录

        • 第一个帖子
          最后一个帖子
        0
        • 社区首页
        • 版块
        • 最新
        • 标签
        • 热门