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

喜欢的可以点个赞❤!


目录
相关文章
|
9天前
|
Java 测试技术 Python
《手把手教你》系列技巧篇(二十九)-java+ selenium自动化测试- Actions的相关操作上篇(详解教程)
【4月更文挑战第21天】本文介绍了Selenium中处理特殊测试场景的方法,如鼠标悬停。Selenium的Actions类提供了鼠标悬停功能,用于模拟用户在网页元素上的悬停行为。文中通过实例展示了如何使用Actions悬停并展开下拉菜单,以及在搜索时选择自动补全的字段。代码示例包括了打开百度首页,悬停在“更多”元素上显示下拉菜单并点击“音乐”,以及在搜索框输入关键词并自动补全的过程。
33 0
|
2天前
|
机器学习/深度学习 数据采集 算法
【Python机器学习专栏】自动化特征选择与优化的实践
【4月更文挑战第30天】特征选择在机器学习中至关重要,能降低模型复杂度,提高泛化能力和避免过拟合。本文介绍了自动化特征选择的三种方法:过滤法(如SelectKBest)、包装法(如RFE)和嵌入法(如随机森林)。通过结合这些方法,可实现特征优化,包括数据预处理、初步筛选、模型训练与评估、特征优化和结果验证。自动化特征选择能提升模型性能,适应不同数据集和任务需求,为机器学习项目提供坚实基础。
|
2天前
|
Java 测试技术 Python
《手把手教你》系列技巧篇(三十六)-java+ selenium自动化测试-单选和多选按钮操作-番外篇(详解教程)
【4月更文挑战第28天】本文简要介绍了自动化测试的实战应用,通过一个在线问卷调查(<https://www.sojump.com/m/2792226.aspx/>)为例,展示了如何遍历并点击问卷中的选项。测试思路包括找到单选和多选按钮的共性以定位元素,然后使用for循环进行点击操作。代码设计方面,提供了Java+Selenium的示例代码,通过WebDriver实现自动答题。运行代码后,可以看到控制台输出和浏览器的相应动作。文章最后做了简单的小结,强调了本次实践是对之前单选多选操作的巩固。
10 0
|
3天前
|
存储 前端开发 测试技术
《手把手教你》系列技巧篇(三十五)-java+ selenium自动化测试-单选和多选按钮操作-下篇(详解教程)
【4月更文挑战第27天】本文介绍了使用Java+Selenium进行Web自动化测试时,如何遍历和操作多选按钮的方法。文章分为两个部分,首先是一个本地HTML页面的示例,展示了多选按钮的HTML代码和页面效果,并详细解释了遍历多选按钮的思路:找到所有多选按钮的共同点,通过定位这些元素并放入list容器中,然后使用for循环遍历并操作。 第二部分介绍了在JQueryUI网站上的实战,给出了被测网址,展示了代码设计,同样使用了findElements()方法获取所有多选按钮并存储到list中,然后遍历并进行点击操作。最后,文章对整个过程进行了小结,并推荐了作者的其他自动化测试教程资源。
11 0
|
4天前
|
数据挖掘 数据库连接 数据处理
精通Excel意味着熟练掌握基础及进阶操作
精通Excel意味着熟练掌握基础及进阶操作,如数据透视表、VBA编程和自定义公式。提升效率的技巧包括善用快捷键、自动化重复任务、巧用公式与函数(如SUM和VLOOKUP)、利用数据透视表分析数据、设置条件格式、建立数据库连接、编写自定义函数、创建数据图表、使用模板和进行分组汇总。这些方法能有效提升数据分析和处理能力,优化工作效率。
11 2
|
5天前
|
前端开发 测试技术 Python
《手把手教你》系列技巧篇(三十三)-java+ selenium自动化测试-单选和多选按钮操作-上篇(详解教程)
【4月更文挑战第25天】本文介绍了自动化测试中如何处理单选和多选按钮的操作,包括它们的定义、HTML代码示例以及如何判断和操作这些元素。文章通过一个简单的HTML页面展示了单选和多选框的示例,并提供了Java+Selenium实现的代码示例,演示了如何检查单选框是否选中以及如何进行全选操作。
11 0
|
6天前
|
Web App开发 人工智能 Java
Python Selenium实现自动化测试及Chrome驱动使用
Python Selenium实现自动化测试及Chrome驱动使用
9 2
|
7天前
|
数据采集 前端开发 测试技术
《手把手教你》系列技巧篇(三十一)-java+ selenium自动化测试- Actions的相关操作-番外篇(详解教程)
【4月更文挑战第23天】本文介绍了网页中的滑动验证码的实现原理和自动化测试方法。作者首先提到了网站的反爬虫机制,并表示在本地创建一个没有该机制的网页,然后使用谷歌浏览器进行验证。接着,文章详细讲解了如何使用WebElement的click()方法以及Action类提供的API来模拟鼠标的各种操作,如右击、双击、悬停和拖动。
9 2
|
8天前
|
jenkins Java 持续交付
Jenkins与Docker的自动化CI/CD实战
Jenkins与Docker的自动化CI/CD实战
|
8天前
|
Web App开发 数据采集 Java
《手把手教你》系列技巧篇(三十)-java+ selenium自动化测试- Actions的相关操作下篇(详解教程)
【4月更文挑战第22天】本文介绍了在测试过程中可能会用到的两个功能:Actions类中的拖拽操作和划取字段操作。拖拽操作包括基本讲解、项目实战、代码设计和参考代码,涉及到鼠标按住元素并将其拖动到另一个元素上或指定位置。划取字段操作则介绍了如何在一段文字中随机选取一部分,包括项目实战、代码设计和参考代码。此外,文章还提到了滑动验证的实现,并提供了相关的代码示例。
36 2

热门文章

最新文章