From 09465e141c2b40451c923199405e6185441c47a5 Mon Sep 17 00:00:00 2001 From: break27 Date: Tue, 22 Jul 2025 18:00:42 +0800 Subject: [PATCH] update: using nameparser --- requirements.txt | Bin 898 -> 936 bytes 邮件批量发送脚本.py | 8 +++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/requirements.txt b/requirements.txt index e658d27ae9d6ab4e5e41051819cf79744110cfe0..9119b55734ad6bb27c0bfb13cac21daddb6497f4 100644 GIT binary patch delta 42 rcmZo-U%@_MpL`-iE<-9q0Yf4~5koPMRm5NmgoX@yU~If``)MWs;$8{{ delta 10 RcmZ3%-o!p(-^M3Lm;f0n1mXYy diff --git a/邮件批量发送脚本.py b/邮件批量发送脚本.py index ae208e3..aa102f0 100644 --- a/邮件批量发送脚本.py +++ b/邮件批量发送脚本.py @@ -14,6 +14,7 @@ from selenium.webdriver.remote.webelement import WebElement from tkinter import Tk, filedialog from datetime import datetime, timedelta +from nameparser import HumanName parser = argparse.ArgumentParser(description="邮件批量发送脚本") parser.add_argument('input', nargs='?') @@ -231,9 +232,10 @@ def main(): action.send_keys(hello) if name is not None and (name := str(name).strip()) and not contains_non_latin_alphabet(name): - parts = name.title().split() - firstname = parts[0] if len(parts) == 1 or (len(parts[0]) > 3 and '.' not in parts[0]) else ' '.join([parts[0], parts[1]]) - action.send_keys(Keys.SPACE).send_keys(firstname) + parts = HumanName(name) + parts.capitalize() + person = ' '.join(filter(None, [parts.title, parts.first or parts.middle or parts.last])) + action.send_keys(Keys.SPACE).send_keys(person) action.send_keys(',') action.perform()