Update login.py

修复点字
This commit is contained in:
zhao-zg 2025-02-14 11:25:50 +08:00 committed by GitHub
parent 88246e2639
commit 225f0b945e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -18,7 +18,7 @@ import base64
import io import io
import re import re
import logging import logging
from fake_useragent import UserAgent #from fake_useragent import UserAgent
# 传参获得已初始化的ddddocr实例 # 传参获得已初始化的ddddocr实例
ocr = None ocr = None
@ -127,7 +127,7 @@ async def loginPhone(chromium_path, workList, uid, headless):
) )
page = await browser.newPage() page = await browser.newPage()
await page.setUserAgent( await page.setUserAgent(
UserAgent().random "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
) )
await page.setViewport({"width": 360, "height": 640}) await page.setViewport({"width": 360, "height": 640})
await page.goto( await page.goto(
@ -163,7 +163,7 @@ async def loginPhone(chromium_path, workList, uid, headless):
workList[uid].msg = "正在过滑块检测" workList[uid].msg = "正在过滑块检测"
await verification(page) await verification(page)
await page.waitFor(2000) await page.waitFor(2000)
elif await page.xpath('//*[@id="captcha_modal"]/div/div[3]/button'): elif await page.xpath('//*[@id="captcha_modal"]/div/div[4]/button'):
logger.info("进入点形状、颜色验证分支") logger.info("进入点形状、颜色验证分支")
workList[uid].status = "pending" workList[uid].status = "pending"
@ -308,8 +308,10 @@ async def loginPassword(chromium_path, workList, uid, headless):
) )
page = await browser.newPage() page = await browser.newPage()
await page.setUserAgent( await page.setUserAgent(
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
) )
#user_agent = await page.evaluate("navigator.userAgent")
#print(f"User-Agent: {user_agent}")
await page.setViewport({"width": 360, "height": 640}) await page.setViewport({"width": 360, "height": 640})
await page.goto( await page.goto(
"https://plogin.m.jd.com/login/login?appid=300&returnurl=https%3A%2F%2Fm.jd.com%2F&source=wq_passport" "https://plogin.m.jd.com/login/login?appid=300&returnurl=https%3A%2F%2Fm.jd.com%2F&source=wq_passport"
@ -360,7 +362,7 @@ async def loginPassword(chromium_path, workList, uid, headless):
await verification(page) await verification(page)
await page.waitFor(3000) await page.waitFor(3000)
elif await page.xpath('//*[@id="captcha_modal"]/div/div[3]/button'): elif await page.xpath('//*[@id="captcha_modal"]/div/div[4]/button'):
logger.info("进入点形状、颜色验证分支") logger.info("进入点形状、颜色验证分支")
workList[uid].status = "pending" workList[uid].status = "pending"
workList[uid].msg = "正在过形状、颜色检测" workList[uid].msg = "正在过形状、颜色检测"
@ -950,9 +952,9 @@ async def verification_shape(page):
rgba2rgb("rgb_word_img.png", "rgba_word_img.png") rgba2rgb("rgb_word_img.png", "rgba_word_img.png")
word = get_word(ocr, "rgb_word_img.png") word = get_word(ocr, "rgb_word_img.png")
button = await page.querySelector("div.captcha_footer button.sure_btn") button = await page.querySelector("div.captcha_footer button#submit-btn")
if button is None: if button is None:
button = await page.querySelector(".sure_btn") button = await page.querySelector("button#submit-btn")
if button is None: if button is None:
logger.info("未找到提交按钮") logger.info("未找到提交按钮")
raise "未找到提交按钮" raise "未找到提交按钮"