Commit acaed936 authored by 邱阿朋's avatar 邱阿朋

打印日志

parent 47a566ff
......@@ -11,7 +11,7 @@ from DrissionPage import ChromiumPage
from DrissionPage.errors import ElementNotFoundError
from lxml import etree
from helper import helper, excel, file, domain
from helper import helper, excel, file, domain, logger
country = None
......@@ -32,17 +32,6 @@ def page_get(url):
full_url = host + url
page.get(full_url, timeout=3)
while True:
time.sleep(1)
title = page.title
if title == "Amazon Sign-In":
print("请登录账号")
continue
try:
page.ele("#cvf-submit-otp-button-announce")
print("请输入验证码")
except ElementNotFoundError:
break
def sku_relations():
relations_dict = {}
......@@ -81,12 +70,12 @@ def get_report_table_html(invoice_id):
# 获取报表表单内容
report_table_html = page.ele("#backup-report-table").html
if report_table_html is None or report_table_html == "":
print("表单内容为空,刷新网页")
logger.logger().warning("表单内容为空,刷新网页")
page.refresh()
continue
return report_table_html
except ElementNotFoundError:
print("元素未找到,刷新网页")
logger.logger().warning("元素未找到,刷新网页")
page.refresh()
......@@ -136,7 +125,7 @@ def export_item_read_data(invoice_id):
def main():
relation_data = sku_relations() # 获取 ASIN 与 SKU 的对应关系数据
coop_list = export_list_read_data() # 获取合作数据列表
print(f"共计:{len(coop_list)} 条数据")
logger.logger().info(f"共计:{len(coop_list)} 条数据")
i = 0
new_coop_data = []
......@@ -144,13 +133,13 @@ def main():
for _, coop in coop_list.iterrows():
i += 1
invoice_id = coop.get("Invoice ID") # 获取发票 ID
print({"index": i, "invoice_id": invoice_id})
logger.logger().info({"index": i, "invoice_id": invoice_id})
item_coop_data = []
# 根据发票 ID 获取 item 列表
item_list = export_item_read_data(invoice_id)
if item_list is None:
print(f"{invoice_id} 暂无报告信息")
logger.logger().warning(f"{invoice_id} 暂无报告信息")
continue
for _, item in item_list.iterrows():
......@@ -226,4 +215,4 @@ if __name__ == '__main__':
except KeyboardInterrupt:
pass
except Exception as e:
print(e)
logger.logger().error(e)
# coding: utf-8
import os
from src.logger.logger import ConsoleLog
console_log = ConsoleLog()
def logger() -> ConsoleLog:
return console_log
......@@ -11,7 +11,7 @@ from DrissionPage import ChromiumPage
from DrissionPage.errors import ElementNotFoundError
from lxml import etree
from helper import helper, excel, file, domain
from helper import helper, excel, file, domain,logger
country = None
......@@ -33,19 +33,6 @@ def page_get(url):
full_url = host + url
page.get(full_url, timeout=3)
while True:
time.sleep(1)
title = page.title
if title == "Amazon Sign-In":
print("请登录账号")
continue
try:
page.ele("#cvf-submit-otp-button-announce")
print("请输入验证码")
except ElementNotFoundError:
break
def export_list_read_data():
new_file_name = 'new_Payments.xlsx'
if os.path.isfile(new_file_name):
......@@ -110,7 +97,7 @@ def export_details_read_data(invoice_number):
excel.remove_last_comma(file_name)
break
except ElementNotFoundError:
print("导出按钮不存在刷新网页")
logger.logger().warning("导出按钮不存在刷新网页")
page.refresh()
return pd.read_csv(file_name)
......@@ -199,13 +186,13 @@ def click_get_price_data():
while True:
try:
page.ele("#pd", timeout=5).click()
print("等待争议数据加载,5秒后获取表单数据")
logger.logger().debug("等待争议数据加载,5秒后获取表单数据")
page.wait(5)
table_html = page.ele("#priceDiscrepancyWithDMSGridForm", timeout=5).html
price_data = price_extract_data(table_html)
return price_data
except ElementNotFoundError:
print("未获取到表数据")
logger.logger().warning("未获取到表数据")
break
return []
......@@ -261,7 +248,7 @@ def main():
list_data = export_list_read_data()
excel.save_xls(list_data, "回款数据.xlsx", "Remittance payments")
print(f"共计:{len(list_data)} 订单")
logger.logger().info(f"共计:{len(list_data)} 订单")
all_normal_pay_data = []
all_price_pay_data = []
......@@ -272,7 +259,7 @@ def main():
# 获取当前订单的Payee和优惠比例
vendor_payment_terms = get_po_code(i, invoice_number[:8])
print(vendor_payment_terms)
logger.logger().info(vendor_payment_terms)
vendor = vendor_payment_terms['vendor']
deduction_points = int(vendor_payment_terms['payment_terms'])
......@@ -334,4 +321,4 @@ if __name__ == '__main__':
except KeyboardInterrupt:
pass
except Exception as e:
print(e)
logger.logger().error(e)
# coding: utf-8
import logging
class ColoredFormatter(logging.Formatter):
def format(self, record):
# 为不同的日志级别定义一些颜色
colors = {
'DEBUG': '\033[94m', # blue
'INFO': '\033[92m', # green
'WARNING': '\033[93m', # yellow
'ERROR': '\033[91m', # red
'CRITICAL': '\033[95m' # magenta
}
# 从记录中获取原始消息
message = super().format(record)
# 如果日志级别定义了颜色,则添加颜色代码
if record.levelname in colors:
color_code = colors[record.levelname]
message = f"{color_code}{message}\033[0m"
return message
class ConsoleLog:
def __init__(self):
self.logger = logging.getLogger(__name__)
self.logger.setLevel(logging.DEBUG)
# 使用彩色格式化程序创建控制台处理程序
console_handler = logging.StreamHandler()
console_handler.setFormatter(ColoredFormatter('%(asctime)s %(message)s'))
# 将控制台处理程序添加到记录器
self.logger.addHandler(console_handler)
def info(self, arg):
self.logger.info(arg)
def debug(self, arg):
self.logger.debug(arg)
def warning(self, arg):
self.logger.warning(arg)
def error(self, arg):
self.logger.error(arg)
def critical(self, arg):
self.logger.critical(arg)
\ No newline at end of file
# coding: utf-8
# 导出退款记录
import os
import time
import pandas as pd
from DrissionPage import ChromiumPage
from DrissionPage.errors import ElementNotFoundError
from lxml import etree
from helper import helper, excel, file, domain
from helper import helper, excel, file, domain,logger
country = None
......@@ -69,7 +67,7 @@ def export_item_read_data(return_id):
file.wait_for_downloads(file_name)
break
except ElementNotFoundError:
print("元素未找到,刷新网页")
logger.logger().warning("元素未找到,刷新网页")
page.refresh()
# 读取回退商品详情
......@@ -82,14 +80,14 @@ def main():
# 下载并读取list数据
list_data = export_list_read_data()
print(f"共计:{len(list_data)} 订单")
logger.logger().info(f"共计:{len(list_data)} 订单")
new_list_data = []
i = 0
for _, data in list_data.iterrows():
i += 1
return_id = data.get('Return ID')
print({"index": i, "return_id": return_id})
logger.logger().info({"index": i, "return_id": return_id})
# 下载退货详情表格读取数据
item_data = export_item_read_data(return_id)
......@@ -127,4 +125,4 @@ if __name__ == '__main__':
except KeyboardInterrupt:
pass
except Exception as e:
print(e)
logger.logger().error(e)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment