Python+selenium 自动化-读取excel记录的脚本执行登陆操作实战演示
我們可以用 excel 來(lái)記錄自動(dòng)化,然后讀取 excel 來(lái)執(zhí)行命令,excel 可以很方便直觀的管理我們錄入的自動(dòng)化。下面給大家演示一下 Python+selenium 自動(dòng)化的實(shí)例,讀取 excel 執(zhí)行登陸操作。
首先如果想要操控 excel 需要兩個(gè)庫(kù) xlrd 和 xlwt,一個(gè)是讀,一個(gè)是寫(xiě)。
本章我想通過(guò) python 讀取 excel 里我設(shè)置的一些字段,來(lái)執(zhí)行一個(gè)登陸操作。
def read_xl():# 打開(kāi)excelworkbook = xlrd.open_workbook('login.xlsx')sheet = workbook.sheets()[0] # 代表第一個(gè)頁(yè)簽,excel是可以有多個(gè)頁(yè)簽的nrows = sheet.nrows # 看excel一共有多少行內(nèi)容# 一行一行的讀取內(nèi)容,sheet.row_values(i)[0]代表該行的第一個(gè)單元格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])下面是我設(shè)置的 excel 字段,以及每個(gè)字段的含義。
下面這是完整版,我是結(jié)合 python+selenium 來(lái)操控我的 chrome 瀏覽器,excel 讀取的字段通過(guò)我的 sw() 方法轉(zhuǎn)化為對(duì)應(yīng)操作瀏覽器的命令來(lái)執(zhí)行。
當(dāng)然這里的地址是內(nèi)網(wǎng)的,是只有我才可以用的。excel 附件里的登陸名和密碼也是只有我自己才可以用的,這些需要你自己來(lái)設(shè)置。
Excel 附件:小藍(lán)棗的資源倉(cāng)庫(kù) 提取碼:b2av
# -*- coding: UTF-8 -*- # excel說(shuō):感覺(jué)自己被操控# excel讀寫(xiě)庫(kù) import xlrd import xlwt# selenium瀏覽器驅(qū)動(dòng) from selenium import webdriver import time# 初始化Chrome() driver = webdriver.Chrome() driver.maximize_window() driver.implicitly_wait(5) #單位秒# 登陸 def login():# 我自己可用的內(nèi)網(wǎng)ip地址url="http://172.20.xx.xx:8102"print("你的小可愛(ài)正在打開(kāi): "+url+" 請(qǐng)看好她!!!\n")driver.get(url) # excel讀取 def read_xl():# 打開(kāi)excelworkbook = xlrd.open_workbook('login.xlsx')sheet = workbook.sheets()[0] # 代表第一個(gè)頁(yè)簽,excel是可以有多個(gè)頁(yè)簽的nrows = sheet.nrows # 看excel一共有多少行內(nèi)容# 一行一行的讀取內(nèi)容,sheet.row_values(i)[0]代表該行的第一個(gè)單元格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])# 轉(zhuǎn)化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操作無(wú)效,如有需要請(qǐng)找管理員對(duì)open解禁')else:k=0time.sleep(2)if k==1:print("該命令執(zhí)行結(jié)束!\n")def action(e):print("正在進(jìn)行: "+e+" 請(qǐng)稍后...")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()讀取執(zhí)行內(nèi)容的同時(shí),后臺(tái)會(huì)同時(shí)播報(bào)正在執(zhí)行的命令。
喜歡的可以點(diǎn)個(gè)贊?!
總結(jié)
以上是生活随笔為你收集整理的Python+selenium 自动化-读取excel记录的脚本执行登陆操作实战演示的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Git知识点笔记-基本常识
- 下一篇: Python 缩进问题-inconsis