Python+selenium 自动化-读取excel记录的脚本执行登陆操作实战演示

简介: Python+selenium 自动化-读取excel记录的脚本执行登陆操作实战演示

我们可以用 excel 来记录自动化,然后读取 excel 来执行命令,excel 可以很方便直观的管理我们录入的自动化。下面给大家演示一下 Python+selenium 自动化的实例,读取 excel 执行登陆操作。

首先如果想要操控 excel 需要两个库 xlrdxlwt,一个是读,一个是写。

本章我想通过 python 读取 excel 里我设置的一些字段,来执行一个登陆操作。

def read_xl():
  # 打开excel
  workbook = xlrd.open_workbook('login.xlsx')
  sheet = workbook.sheets()[0] # 代表第一个页签,excel是可以有多个页签的
  nrows = sheet.nrows # 看excel一共有多少行内容
  # 一行一行的读取内容,sheet.row_values(i)[0]代表该行的第一个单元格
  for i in range(nrows):
    sw(sheet.row_values(i)[0],sheet.row_values(i)[1],sheet.row_values(i)[2],sheet.row_values(i)[3],sheet.row_values(i)[5])

下面是我设置的 excel 字段,以及每个字段的含义。

image.png

下面这是完整版,我是结合 python+selenium 来操控我的 chrome 浏览器,excel 读取的字段通过我的 sw() 方法转化为对应操作浏览器的命令来执行。

当然这里的地址是内网的,是只有我才可以用的。excel 附件里的登陆名和密码也是只有我自己才可以用的,这些需要你自己来设置。

Excel 附件:小蓝枣的资源仓库 提取码:b2av

# -*- coding: UTF-8 -*-
# excel说:感觉自己被操控
# excel读写库
import xlrd
import xlwt
# selenium浏览器驱动
from selenium import webdriver
import time
# 初始化Chrome()
driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(5) #单位秒
# 登陆
def login():
  # 我自己可用的内网ip地址
  url="http://172.20.xx.xx:8102"
  print("你的小可爱正在打开: "+url+"   请看好她!!!\n")
  driver.get(url)  
# excel读取
def read_xl():
  # 打开excel
  workbook = xlrd.open_workbook('login.xlsx')
  sheet = workbook.sheets()[0] # 代表第一个页签,excel是可以有多个页签的
  nrows = sheet.nrows # 看excel一共有多少行内容
  # 一行一行的读取内容,sheet.row_values(i)[0]代表该行的第一个单元格
  for i in range(nrows):
    sw(sheet.row_values(i)[0],sheet.row_values(i)[1],sheet.row_values(i)[2],sheet.row_values(i)[3],sheet.row_values(i)[5])
# 转化excel读取的操作
def sw(a,b,c,d,e):
  k=1
  if a=='click':
    action(e)
    sw_click(b,c)
  elif a=='input':
    action(e)
    sw_input(b,c,d)
  elif a=='wait':
    action("等待")
    sw_wait(d)
  elif a=='open':
    action(e)
    sw_open(d)
    print('open操作无效,如有需要请找管理员对open解禁')
  else:
    k=0
  time.sleep(2)
  if k==1:
    print("该命令执行结束!\n")
def action(e):
  print("正在进行: "+e+"   请稍后...")
def sw_click(b,c):
  if b=='id':
    driver.find_element_by_id(c).click()
  elif b=='xpath':
    driver.find_element_by_xpath(c).click()
def sw_input(b,c,d):
  if b=='id':
    driver.find_element_by_id(c).send_keys(d)
  elif b=='xpath':
    driver.find_element_by_xpath(c).send_keys(d)
def sw_wait(d):
  time.sleep(d/1000)
def sw_open(d):
  time.sleep(1)
login()
read_xl()

读取执行内容的同时,后台会同时播报正在执行的命令。

image.png

喜欢的可以点个赞❤!


目录
相关文章
|
6月前
|
安全 JavaScript 开发者
Python 自动化办公神器|一键转换所有文档为 PDF
本文介绍一个自动化批量将 Word、Excel、PPT、TXT、HTML 及图片转换为 PDF 的 Python 脚本。支持多格式识别、错误处理与日志记录,适用于文档归档、报告整理等场景,大幅提升办公效率。仅限 Windows 平台,需安装 Office 及相关依赖。
352 0
|
4月前
|
存储 数据采集 监控
Python定时爬取新闻网站头条:从零到一的自动化实践
在信息爆炸时代,本文教你用Python定时爬取腾讯新闻头条,实现自动化监控。涵盖请求、解析、存储、去重、代理及异常通知,助你构建高效新闻采集系统,适用于金融、电商、媒体等场景。(238字)
645 2
|
5月前
|
数据采集 Web App开发 机器学习/深度学习
Selenium爬虫部署七大常见错误及修复方案:从踩坑到避坑的实战指南
本文揭秘Selenium爬虫常见“翻车”原因,涵盖浏览器闪退、元素定位失败、版本冲突、验证码识别等七大高频问题,结合实战案例与解决方案,助你打造稳定高效的自动化爬虫系统,实现从“能用”到“好用”的跨越。
861 0
|
5月前
|
数据采集 监控 Shell
无需Python:Shell脚本如何成为你的自动化爬虫引擎?
Shell脚本利用curl/wget发起请求,结合文本处理工具构建轻量级爬虫,支持并行加速、定时任务、增量抓取及分布式部署。通过随机UA、异常重试等优化提升稳定性,适用于日志监控、价格追踪等场景。相比Python,具备启动快、资源占用低的优势,适合嵌入式或老旧服务器环境,复杂任务可结合Python实现混合编程。
|
7月前
|
存储 数据采集 数据可视化
Python自动化分析知网文献:爬取、存储与可视化
Python自动化分析知网文献:爬取、存储与可视化
|
7月前
|
数据采集 存储 监控
Python爬虫自动化:定时监控快手热门话题
Python爬虫自动化:定时监控快手热门话题
|
存储 缓存 NoSQL
实战|教你用Python玩转Redis
之前辰哥已经给大家教了Python如何去连接Mysql(实战|教你用Python玩转Mysql),并进行相应操作(插、查、改、删)。除了Mysql外,Python最常搭配的数据库还有Redis。 那么今天辰哥就来给大家讲解一下Python如何使用Redis,并进行相关的实战操作。
712 0
|
5月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
507 102
|
5月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
398 104
|
5月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
307 103

推荐镜像

更多