前言:
如今咱们对“淘宝网页登陆界面web实现”大概比较关怀,小伙伴们都需要了解一些“淘宝网页登陆界面web实现”的相关资讯。那么小编也在网上收集了一些对于“淘宝网页登陆界面web实现””的相关内容,希望朋友们能喜欢,各位老铁们一起来了解一下吧!前言
我们在日常工作和生活中,经常会遇到滑块的情况,如下图所示:
淘宝的网页登录,在我们输入完账号密码后,需要按住滑块,并且滑动至最右边,才可以登录。这是最为常见的滑块安全验证机制,当然也对我们的自动化工作造成了部分的困扰,在selenium中,我们可以通过滑动滑块来解决这个问题,而playwright同样可以帮助我们实现这个操作。
操作滑块
playwright提供了下面的鼠标方法来操作滑块,具体方法如下:
mouse.move() 起点或终点坐标位置mouse.down() 按住鼠标mouse.up() 释放鼠标
示例如下:
我们还是以淘宝登录页面为例进行操作,代码如下:
from playwright.sync_api import Playwright, sync_playwright, expectdef run(playwright: Playwright) -> None: browser = playwright.chromium.launch(headless=False) context = browser.new_context() page = context.new_page() page.goto(";) page.get_by_placeholder("账号名/邮箱/手机号").click() page.get_by_placeholder("账号名/邮箱/手机号").fill("xxxxx") page.get_by_placeholder("请输入登录密码").click() page.get_by_placeholder("请输入登录密码").fill("xxxxxxxxxxxxxx") slider = page.locator('#baxia-dialog-content').bounding_box() page.mouse.move(x=slider['x'], y=slider['y']+slider['height']/2) page.mouse.down() page.mouse.move(x=slider['x']+240, y=slider['y']+slider['height']/2) page.mouse.up() page.pause() page.get_by_role("button", name="登录").click() context.close() browser.close()with sync_playwright() as playwright: run(playwright)总结
本文主要介绍了使用playwright实现绕过滑块的登录验证的方法,在滑块登录验证的方面,playwright比selenium更为简洁快速,不需要导入其他的方法,比较推荐使用playwright的方法来实现该功能。
标签: #淘宝网页登陆界面web实现