python+selenium+excel自动登录,自动填写网页

python 专栏收录该内容
32 篇文章 0 订阅

经常有些网页要登录,然后频繁填写一些重复的内容,本文暂只考虑不需要验证码的情况,可以通过selenium模拟用户行为在页面操作,用excel拖出相似内容,用xlrd读取并填写到网页中。

  • 导入相关包
from selenium import webdriver

import os
import xlrd
import xlwt
import json
import requests, json,time
from selenium.webdriver.support.wait import WebDriverWait
  • 调用webdriver,进入登录页面
ChromeDriverServer = '''C:\\Users\\Chrome\\chromedriver.exe'''
url='https://www.baidu.com/'
myurl='' #跳转后的页面
os.environ["webdriver.chrome.driver"] = ChromeDriverServer
brguge = webdriver.Chrome(executable_path=ChromeDriverServer)
brguge.get(url)  # 发送get请求
brguge.find_element_by_id('username').send_keys('xxx')  # 输入用户名
brguge.find_element_by_id('password').send_keys('xxx')  # 输入密码
time.sleep(0.5)
brguge.find_element_by_class_name('loginBtn').click()  # 确认
print(brguge.current_url)  # 输出搜索的路径
brguge.get(myurl)
  • 读取excel
xlsfile表示绝对路径,如xlsfile = r'E:\4_文档\总结\30周.xlsx'
def read(xlsfile):
    book = xlrd.open_workbook(xlsfile)#得到Excel文件的book对象,实例化对象
    sheet0 = book.sheet_by_index(0) # 通过sheet索引获得sheet对象
    sheet_name = book.sheet_names()[0]# 获得指定索引的sheet表名字
    sheet1 = book.sheet_by_name(sheet_name)# 通过sheet名字来获取,当然如果知道sheet名字就可以直接指定
    nrows = sheet0.nrows    # 获取行总数
    ncols = sheet0.ncols    #获取列总数

    for i in range(nrows):
        list.append([])
        for j in range(ncols):
            # print(sheet0.cell_value(i, j))
            list[i].append(str(sheet0.cell_value(i,j)))
    print(list)
    return list
  • 从list将内容写入网页
    gz=brguge.find_elements_by_name('gz')
    for i in range(0, rows):
        gz[i].clear()
        gz[i].send_keys(list[i+2][0])  # 输入
    brguge.find_element_by_id('s1_ok').click()# 确认
  •  

 

 

 

  • 5
    点赞
  • 0
    评论
  • 33
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值