# -*- coding:utf-8 -*- from selenium import webdriver import xlrd import xlwt from xlutils.copy import copy import time class Batchauto: def __init__(self,x,y): self.x = x self.y = y def auto_brower(self): #打開瀏覽器 open_brower = webdriver.Chrome() url = "http://xxxxx" open_brower.get(url) #讀取文件 read_file = r"C:\Users\admin\Desktop\py\auto\auto_denglu.xls" book = xlrd.open_workbook(read_file) #sheet的表格中,已經命名sheet為“denglu” read_file_sheet = book.sheet_by_name("denglu") #獲取文件內容 user_value = read_file_sheet.cell_value(self.x,self.y) pwd_value = read_file_sheet.cell_value(self.x,self.y+1) #填寫內容 time.sleep(2) open_brower.find_element_by_id("userName").send_keys(user_value) open_brower.find_element_by_id("password").send_keys(pwd_value) open_brower.find_element_by_id("submit").click() time.sleep(5) #判斷登錄成功后是否有該元素存在 try: open_brower.find_element_by_xpath("//a[@href='user/confirm.jsp?userName=XXX']") tag = u"登錄成功" except: tag = u"登錄失敗" print tag #填寫文件內容,xlrd只有只讀沒有只寫,所以,需要用過xlutils的copy獲得寫的能力,xlutils相當於xlrd和xlwt的通道 book_rw = copy(book) book_rw_sheet = book_rw.get_sheet("denglu") book_rw_sheet.write(self.x,self.y+2,tag) book_rw.save(read_file) time.sleep(2) open_brower.close() if __name__ == "__main__": #只需要定位X、y的初始位置即可 for x in range(0,3): y = 0 ba = Batchauto(x,y) ba.auto_brower()
最后Excel結果顯示為: