playwright模拟鼠标操作_拖拽2
现在很多网站登录时都有滑块拖动验证功能,在写自动化测试脚本时就需要在脚本中实现拖动滑块的过程,playwright提供了多种实现元素的拖拽和释放的方法,我们现在看第二种。
将元素拖拽到另一个元素所在的位置。
按住元素从页面的一个位置拖动到另外一个位置,有2种方式可以实现:
locator.drag_to(target: locator) 先定位元素,调用drag_to方法到目标元素
page.drag_and_drop(source: str, target: str) page对象直接调用
我们以下图网页中的两个元素为例看一下上个方法的使用
page.drag_and_drop(source: str, target: str)
实践代码:
# '''
# author: 测试-老姜 交流微信/QQ:349940839
# 欢迎添加微信或QQ,加入学习群共同学习交流。
# QQ交流群号:877498247
# 西安的朋友欢迎当面交流。
# '''
from playwright.sync_api import Playwright, sync_playwright, expect
playwright = sync_playwright().start()
browser = playwright.chromium.launch(headless=False, args=['--start-maximized']) #默认无头模式,设置浏览器最大化
context = browser.new_context(no_viewport=True) # 创建上下文,相当浏览器于实例化,即打开浏览器
page = context.new_page() # 打开一个新标签页
page.goto("https://jqueryui.com/resources/demos/droppable/default.html") # 打开网址
page.wait_for_timeout(5000)
page.drag_and_drop('#draggable','#droppable') # 拖拽元素
page.wait_for_timeout(10000)
context.close()
browser.close()
playwright.stop()
locator.drag_to(target: locator)
实践代码:
'''
author: 测试-老姜 交流微信/QQ:349940839
欢迎添加微信或QQ,加入学习群共同学习交流。
QQ交流群号:877498247
西安的朋友欢迎当面交流。
'''
from playwright.sync_api import Playwright, sync_playwright, expect
playwright = sync_playwright().start()
browser = playwright.chromium.launch(headless=False, args=['--start-maximized']) #默认无头模式,设置浏览器最大化
context = browser.new_context(no_viewport=True) # 创建上下文,相当浏览器于实例化,即打开浏览器
page = context.new_page() # 打开一个新标签页
page.goto("https://jqueryui.com/resources/demos/droppable/default.html") # 打开网址
page.wait_for_timeout(5000)
# page.drag_and_drop('#draggable','#droppable')
page.locator('#draggable').drag_to(page.locator('#droppable')) #拖拽元素
page.wait_for_timeout(10000)
context.close()
browser.close()
playwright.stop()