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()
这样可以完成基本的自动登录和填报数据流程。