From 225f0b945eea8b0400de4ee178683906e8d35a0f Mon Sep 17 00:00:00 2001 From: zhao-zg <61549925+zhao-zg@users.noreply.github.com> Date: Fri, 14 Feb 2025 11:25:50 +0800 Subject: [PATCH] Update login.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复点字 --- login.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/login.py b/login.py index d3951e1..bce8c25 100644 --- a/login.py +++ b/login.py @@ -18,7 +18,7 @@ import base64 import io import re import logging -from fake_useragent import UserAgent +#from fake_useragent import UserAgent # 传参获得已初始化的ddddocr实例 ocr = None @@ -127,7 +127,7 @@ async def loginPhone(chromium_path, workList, uid, headless): ) page = await browser.newPage() 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.goto( @@ -163,7 +163,7 @@ async def loginPhone(chromium_path, workList, uid, headless): workList[uid].msg = "正在过滑块检测" await verification(page) 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("进入点形状、颜色验证分支") workList[uid].status = "pending" @@ -308,8 +308,10 @@ async def loginPassword(chromium_path, workList, uid, headless): ) page = await browser.newPage() 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.goto( "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 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("进入点形状、颜色验证分支") workList[uid].status = "pending" workList[uid].msg = "正在过形状、颜色检测" @@ -950,9 +952,9 @@ async def verification_shape(page): rgba2rgb("rgb_word_img.png", "rgba_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: - button = await page.querySelector(".sure_btn") + button = await page.querySelector("button#submit-btn") if button is None: logger.info("未找到提交按钮") raise "未找到提交按钮"