modified: amazon/__pycache__/approve.cpython-39.pyc

modified:   amazon/__pycache__/del_brand.cpython-39.pyc
	modified:   amazon/__pycache__/match_action.cpython-39.pyc
	modified:   amazon/approve.py
	modified:   amazon/del_brand.py
	modified:   amazon/match_action.py
	new file:   amazon/price_match.py
	modified:   main.py
This commit is contained in:
铭坤
2026-04-17 10:04:24 +08:00
parent 025ca6d4fd
commit ac07416352
8 changed files with 749 additions and 98 deletions

View File

@@ -314,6 +314,7 @@ class ZiniaoDriver:
self.open_launcher_page(ret_json.get("launcherPage"), self.browser)
else:
print("IP检测不通过")
raise RuntimeError("IP检测不通过可能是因为网络环境变化导致的为了店铺安全不打开店铺")
return self.browser
def close_store(self, browser_oauth=None):
@@ -499,26 +500,55 @@ class AmamzonBase(ZiniaoDriver):
def login(self,password,username=""):
try:
pwd_input = self.tab.eles('xpath://input[@type="password"]',timeout=10)
if len(pwd_input) > 0:
pwd_input[0].input(password,clear=True)
submit_btn = self.tab.eles('xpath://input[@id="signInSubmit"]',timeout=10)
if len(submit_btn) > 0:
submit_btn[0].click()
self.tab.wait.doc_loaded()
self.tab.wait.doc_loaded(timeout=30,raise_err=False)
for _ in range(4):
pwd_input = self.tab.eles('xpath://input[@type="password"]',timeout=5)
if len(pwd_input) > 0:
pwd_input[0].input(password,clear=True)
submit_btn = self.tab.eles('xpath://input[@id="signInSubmit"]',timeout=5)
if len(submit_btn) > 0:
submit_btn[0].click()
self.tab.wait.doc_loaded(timeout=30,raise_err=False)
opt_code_input = self.tab.ele('xpath://input[@name="otpCode"]',timeout=60)
opt_code_input.wait.displayed(timeout=10,raise_err=False)
for _ in range(30):
if opt_code_input.value is not None and opt_code_input.value.strip() != "":
print("检测到验证码输入完成")
submit_btn = self.tab.ele('xpath://input[@id="auth-signin-button"]',timeout=10)
submit_btn.click()
self.tab.wait.doc_loaded()
return True
time.sleep(1)
submit_btn = self.tab.ele('xpath://input[@id="auth-signin-button"]',timeout=10)
submit_btn.click()
send_code = self.tab.eles('xpath://span[@id="auth-send-code" and contains(string(.),"发送一次性密码")]',timeout=5)
print("发送一次性密码:",len(send_code))
if len(send_code) > 0:
print("检测到 发送一次性密码")
send_code[0].click()
time.sleep(1)
self.tab.wait.doc_loaded(timeout=30,raise_err=False)
else:
for j in range(5):
opt_code_input = self.tab.eles('xpath://input[@name="otpCode"]',timeout=30)
print("验证码输入框:",len(opt_code_input))
if len(opt_code_input) > 0:
opt_code_input[0].wait.displayed(timeout=10,raise_err=False)
for _ in range(30):
if opt_code_input[0].value is not None and opt_code_input[0].value.strip() != "":
print("检测到验证码输入完成")
submit_btn = self.tab.eles('xpath://input[@id="auth-signin-button"]',timeout=10)
if len(submit_btn) > 0:
submit_btn[0].click()
self.tab.wait.doc_loaded(timeout=20,raise_err=False)
# return True
error_mes = self.tab.eles('xpath://div[@id="auth-error-message-box"]',timeout=10)
if len(error_mes)>0:
print("验证码输入错误")
print("验证码输入错误提示:",error_mes[0].text)
self.tab.refresh()
else:
print("登入成功")
return True
time.sleep(1)
else:
break
submit_btn = self.tab.eles('xpath://input[@id="auth-signin-button"]',timeout=10)
if len(submit_btn) > 0:
submit_btn[0].click()
except Exception as e:
print("登录过程中发生异常:" + traceback.format_exc())
return False