Python读Excel数据自动化填入日常办公的网页表单

前言

本篇内容,让你完全掌握Python是如何自动化办公的~

使用Python 读取Excel 中的数据,自动批量填入问卷星系统中

 

一、环境准备

1.1  Python 3.7.0

1.2  Pycharm  (Python 开发工具)

1.3 Selenium    (处理网页表单工具类)  

1.4  openpyxl  (处理Excel工具类)

 

selenium 安装:pip install selenium  -i https://pypi.douban.com/simple/

openpyxlpy安装:pip install openpyxl -i https://pypi.douban.com/simple/

python3.7.0、pycharm 软件均在我们的百度网盘里:https://pan.baidu.com/s/1Pe0cZzLU1v46EHZZ7EGCnQ

资源失效了请加Python学习交流群进行获取:367203382

我们即将要从Excel中处理的数据长这样:

Python读Excel数据自动化填入日常办公的网页表单_第1张图片

 


二、上代码

我们想创建一个.py 文件来实现我们的目标

2.1 先引入我们需要的工具类

 

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from openpyxl import load_workbook
import time
2.2  初始化谷歌Driver
# 1、初始化浏览器驱动器
def init_driver():
    path = 'E:\\Python_Office_Auto\\Day15\\chromedriver.exe'  # 这个要准备chromedriver.exe 放到我们.py 文件同目录。不知道如何获取,加群:367203382,问群主~~~
    chrome_options = Options() 
    # 1、 添加user-agent
    chrome_options.add_argument(
        'user-agent="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1"')
    # 2、把配置属性传递给驱动程序、并制定驱动程序的路径
    driver = webdriver.Chrome(executable_path=path, options=chrome_options)
    # 3、隐式等待(给每个网页的元素5秒钟的时间,5秒过后不出现、定位网页元素不存在、并进入异常处理)
    driver.implicitly_wait(5)
    return driver

2.3  读取Excel

def read_excel():
    wb = load_workbook("用户表.xlsx")
    ws = wb.active
    list_users = []
    for row in ws.iter_rows(min_row=2, max_row=4, min_col=1, max_col=4, values_only=True):
        list_users.append(row)
    return list_users

2.4 填写表单

根据提取的EXCEL信息,自动填入到问卷星系统

def input_form(user):
    driver.get('https://www.wjx.top/jq/81172286.aspx')
    driver.find_element_by_name('q1').send_keys(user[0])
    if user[1] =='男':
        # 点击男性
        driver.find_elements_by_class_name('jqRadio')[0].click()
    else:
        # 点击女性
        driver.find_elements_by_class_name('jqRadio')[1].click()

    # 手机号
    driver.find_element_by_name('q3').send_keys(user[2])
    # 建议
    driver.find_element_by_name('q4').send_keys(user[3])
    # 提交
    driver.find_element_by_id('submit_button').click()
    time.sleep(3)

2.5 main 函数运行整个代码

if __name__ == '__main__':

    # 初始化谷歌浏览器驱动器
    driver = init_driver()

    # 读取Excel 文件,把每行数据放到列表里。
    list_users = read_excel()

    # 遍历列表,取出用户信息
    for user in list_users:
        # 执行填写表单操作
        input_form(user)
    # 最后退出浏览器
    driver.quit()

 

你可能感兴趣的:(python,python,selenium,chrome,excel,软件测试)