Python我写了一个UI自动化,每完成一个操作都会print出填写完成表单的内容。怎么才能把每次print出来的信息保存在Excel里每一次print都保存一行一行的保存在Excel里面。
import time
import pandas as pd
from selenium.webdriver import Chrome
from selenium.webdriver.common.by import By
import datetime
import xlwt
from openpyxl import Workbook
try:
workbook = xlwt.Workbook(encoding='utf-8') # 新建工作簿
sheet1 = workbook.add_sheet("测试表格") # 新建sheet
# workbook.save(r'C:\Users\Jiawen Wang\PycharmProjects\pythonProject1\ok.xlsx') #保存
# 时间额日期部分
today = datetime.datetime.today()
y = str(today.year)
m = str(today.month)
COMPETRNCIA = m + '/' + y
print('Hoje 今天日期为 => ', today)
print('COMPETRNCIA 发行月份 =>', COMPETRNCIA)
ddd = str(input('DIA DO VENCIMENTO COLOCA DIA MSM 到期日(天)=> '))
D = ddd + '/11/2022'
print(D)
# 输入时间
shuru = 0.1
# 网站刷新时间
AU = float(input('Velocidade de atualização 网页刷新速度=>'))
# excel文件读取
Ex = input("Excel=>")
Excel = (Ex + ".xlsx")
except IOError:
print ("Error: 没有找到文件或读取文件失败")
else:
print("")
try:
df = pd.read_excel(Excel, dtype=str)
# print(df.head())
driver = Chrome()
# 程序主体部分
for idx, row in df.iterrows():
url = "http://www.sefaz.to.gov.br/dare/servlet/hnetccwkda"
driver.get(url)
城市 = row["城市"]
州 = row['州']
公司号 = row["公司号"]
公司名 = row['公司名']
金额 = row["金额"]
罚款 = row["罚款"]
发票号 = row["发票号"]
print("付款已生成/DARE gerada !")
print("丨")
print('写入数据/Dados escritos. Agurade DARE ')
Dados= ('城市/Cidadde => '+城市,'州/Estato => '+州, '公司注册号/CNPJ => '+公司号, '公司名/Razao Social => '+公司名, '金额/VAlor => '+金额, '罚款/Multa => '+罚款, '发票号/NFe => '+发票号)
print(Dados)
time.sleep(AU)
driver.find_element(By.XPATH, '//*[@id="_CECPFCNPJ"]').send_keys(公司号)
time.sleep(shuru)
driver.find_element(By.XPATH, '//*[@id="TABLE2"]/tbody/tr[5]/td/p/input').click()
time.sleep(AU)
# Nome / Razão Social
driver.find_element(By.XPATH, '//*[@id="_DRERAZSOC"]').clear()
driver.find_element(By.XPATH, '//*[@id="_DRERAZSOC"]').send_keys(公司名)
time.sleep(shuru)
# 输入Município Receita
driver.find_element(By.XPATH, '//*[@id="TABLE1"]/tbody/tr[5]/td[2]/font/select').click()
driver.find_element(By.XPATH, '//*[@id="TABLE1"]/tbody/tr[5]/td[2]/font/select').send_keys(
'PALMAS - 1721000')
# 输入Município Origem
driver.find_element(By.XPATH, '//*[@id="TABLE1"]/tbody/tr[4]/td[2]/select').click()
driver.find_element(By.XPATH, '//*[@id="TABLE1"]/tbody/tr[4]/td[2]/select').send_keys(州)
time.sleep(shuru)
# 输入Código Receita
driver.find_element(By.XPATH, '//*[@id="TABLE1"]/tbody/tr[12]/td[2]/font/select').click()
driver.find_element(By.XPATH, '//*[@id="TABLE1"]/tbody/tr[12]/td[2]/font/select').send_keys('116')
time.sleep(shuru)
# 输入Data Vencimento:
driver.find_element(By.XPATH, '//*[@id="_DREDTAVEN"]').click()
driver.find_element(By.XPATH, '//*[@id="_DREDTAVEN"]').send_keys(D)
time.sleep(shuru)
# 输入Valor da Receita:
driver.find_element(By.XPATH, '//*[@id="_DREVLRPRI"]').click()
driver.find_element(By.XPATH, '//*[@id="_DREVLRPRI"]').send_keys(金额)
time.sleep(shuru)
# 输入Período referência
driver.find_element(By.XPATH, '//*[@id="_DREREFCHAR"]').clear()
driver.find_element(By.XPATH, '//*[@id="_DREREFCHAR"]').send_keys(COMPETRNCIA)
time.sleep(shuru)
# 输入Multa:
driver.find_element(By.XPATH, '//*[@id="_DREVLRMLT"]').clear()
driver.find_element(By.XPATH, '//*[@id="_DREVLRMLT"]').send_keys(罚款)
time.sleep(shuru)
# 输入Município Origem
driver.find_element(By.XPATH, '//*[@id="TABLE1"]/tbody/tr[4]/td[2]/font/select').click()
driver.find_element(By.XPATH, '//*[@id="TABLE1"]/tbody/tr[4]/td[2]/font/select').send_keys(城市)
time.sleep(shuru)
# 输入 //*[@id="TABLE1"]/tbody/tr[22]/td[5]/input
driver.find_element(By.XPATH, '//*[@id="TABLE1"]/tbody/tr[22]/td[5]/input').click()
time.sleep(shuru)
# 输入 // *[ @ id = "_DRENFECHV"]
driver.find_element(By.XPATH, '//*[@id="_DRENFECHV"]').click()
driver.find_element(By.XPATH, '//*[@id="_DRENFECHV"]').send_keys('00000000000000000000000000000000000000000000')
# 输入Observação:
driver.find_element(By.XPATH, '//*[@id="TABLE3"]/tbody/tr/td[2]/textarea').clear()
driver.find_element(By.XPATH, '//*[@id="TABLE3"]/tbody/tr/td[2]/textarea').send_keys(发票号)
time.sleep(shuru)
# 输入//*[@id="TABLE2"]/tbody/tr[8]/td/p/input[1]
driver.find_element(By.XPATH, '//*[@id="TABLE2"]/tbody/tr[8]/td/p/input[1]').click()
time.sleep(AU)
alerta = driver.switch_to.alert
alerta.accept()
time.sleep(AU)
except IOError:
print ("Error: 没有找到文件或读取文件失败来源")
else:
print("Pronto ! 完成!")