update: better name parsing
This commit is contained in:
19
邮件批量发送脚本.py
19
邮件批量发送脚本.py
@@ -14,7 +14,7 @@ from selenium.webdriver.remote.webelement import WebElement
|
||||
from tkinter import Tk, filedialog
|
||||
from datetime import datetime, timedelta
|
||||
from zoneinfo import ZoneInfo
|
||||
from nameparser import HumanName, config
|
||||
from nameparser import HumanName
|
||||
|
||||
parser = argparse.ArgumentParser(description="邮件批量发送脚本")
|
||||
parser.add_argument('input', nargs='?')
|
||||
@@ -296,19 +296,16 @@ def main():
|
||||
case hour if 18 <= hour < 21: registry = entry.get('registry')[2]
|
||||
case _: registry = None
|
||||
|
||||
clean = False
|
||||
iframe = driver.switch_to.active_element
|
||||
action = ActionChains(driver)
|
||||
hello: str = registry or entry.get('default')
|
||||
clean = False
|
||||
hello = registry or entry.get('default')
|
||||
|
||||
if name is not None and (name := str(name).strip()) and not contains_non_latin_alphabet(name):
|
||||
const = config.CONSTANTS
|
||||
const.titles.add('M.')
|
||||
|
||||
parts = HumanName(name, const)
|
||||
parts.capitalize()
|
||||
person = ' '.join(filter(None, [parts.title, parts.first or parts.middle or parts.last]))
|
||||
hello = ' '.join([hello, person])
|
||||
parts = HumanName(name)
|
||||
parts.capitalize(force=True)
|
||||
short = len(parts.first) < 3 or (len(parts.first) < 5 and parts.first.endswith('.'))
|
||||
hello = ' '.join(filter(None, [hello, parts.title, parts.first, (parts.middle or parts.last) if short else None]))
|
||||
|
||||
hello += ','
|
||||
action.send_keys(hello).perform()
|
||||
@@ -338,7 +335,7 @@ def main():
|
||||
alert = wait.until(lambda x: x.find_element(By.CSS_SELECTOR, "div.io-ox-alert.io-ox-alert-error"))
|
||||
|
||||
message = alert.text.replace('\n', ' ')
|
||||
if not message: print(f'[警告] 程序异常。请保持页面在前台显示,避免最小化')
|
||||
if not message: print(f'[警告] 程序异常。请保持页面在前台显示,避免遮挡或最小化')
|
||||
else: print(f'[警告] ({attempt}): {message}')
|
||||
|
||||
# 关闭警告
|
||||
|
||||
Reference in New Issue
Block a user