龙空技术网

软件测试|web自动化测试神器playwright教程(二十一)

测试者穆勒 122

前言:

如今咱们对“淘宝网页登陆界面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实现