Python+selenium 自动化-读取excel记录的脚本执行登陆操作实战演示
生活随笔
收集整理的這篇文章主要介紹了
Python+selenium 自动化-读取excel记录的脚本执行登陆操作实战演示
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我們可以用 excel 來記錄自動化,然后讀取 excel 來執行命令,excel 可以很方便直觀的管理我們錄入的自動化。下面給大家演示一下 Python+selenium 自動化的實例,讀取 excel 執行登陸操作。
首先如果想要操控 excel 需要兩個庫 xlrd 和 xlwt,一個是讀,一個是寫。
本章我想通過 python 讀取 excel 里我設置的一些字段,來執行一個登陸操作。
def read_xl():# 打開excelworkbook = 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 字段,以及每個字段的含義。
下面這是完整版,我是結合 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():# 打開excelworkbook = 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=1if 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=0time.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()讀取執行內容的同時,后臺會同時播報正在執行的命令。
喜歡的可以點個贊?!
總結
以上是生活随笔為你收集整理的Python+selenium 自动化-读取excel记录的脚本执行登陆操作实战演示的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Git知识点笔记-基本常识
- 下一篇: Python 缩进问题-inconsis