python使用playwright学习笔记-鼠标拖拽

相比于selenium使用ActionChains类型进行鼠标的操作,playwright可直接在page对象使用鼠标操作。

操作方法

page.mouse的常用方法

方法说明
click()点击对应坐标x,y
down()鼠标左键按下状态
up()鼠标左键抬起状态
move()鼠标移动到对应坐标
dbclick()鼠标双击对应坐x,y
wheel()鼠标滚轮滑动滚动x,y(滚动条操作)

page也有元素拖拽方法:drag_and_drop(),可以把元素source拖拽到元素target位置,在需要坐标系上进行拖拽时,例如画布上的复杂拖拽操作还是要使用mouse通过x,y坐标进行拖拽。

可以通过上述方法的组合以及获取元素的坐标实现对元素的拖拽操作,示例说明代码如下:

    element = page.locator('[id=kw]')
    location = element.bounding_box()
    # 获取元素的中心坐标
    x = location['x'] + location['width']/2
    y = location['y'] + location['height']/2
    # 移动到元素下鼠标左键按下状态
    page.mouse.move(x=x, y=y, steps=10)
    page.mouse.down()
    # 拖拽到坐标下鼠标坐标抬起释放元素
    page.mouse.move(x=x+100, y=y+200, steps=20)
    page.mouse.up()

move方法中的steps参数表示执行的步骤,步骤值越高move的动作就越慢(有时候执行太快,前端拖拽时,无法触发js的响应,导致拖拽无效)

如下为实现的效果图,实际代码跟示例代码有所差别,核心方法都是一样的(主要是没找到对外都可访问的画布网站,抱歉)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python Playwright是一个能够控制浏览器进行自动化测试和操作的工具。其中,-remote-debugging-port是Playwright库提供的一个选项,用于指定远程调试的端口号。 使用-remote-debugging-port选项,可以让Playwright通过特定的端口与浏览器建立调试和通信的连接。这样一来,我们就可以实时地监控浏览器执行的情况,以便进行调试或将其集成到其他自动化工具中。 举个例子,假设我们想要在Playwright使用Chrome进行自动化操作,并在开始之前设置远程调试端口号为9222。我们可以这样编写代码: ```python from playwright.sync_api import sync_playwright def main(): with sync_playwright() as playwright: browser_type = playwright.chromium browser = browser_type.launch(remote_debugging_port=9222) page = browser.new_page() # 在这里可以进行各种自动化操作 # ... browser.close() if __name__ == '__main__': main() ``` 在上述代码中,我们使用playwright.sync_api中的sync_playwright函数来创建一个Playwright对象。然后,我们选择了要使用的浏览器,这里是Chrome。接着,我们通过调用browser_type的launch方法来启动浏览器,并使用remote_debugging_port参数指定了远程调试的端口号9222。 这样,我们就成功地在Playwright中设置了远程调试端口号。接下来,我们可以根据需要在此基础上进行各种自动化测试和操作,并通过与浏览器建立的调试连接实时监控其执行情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值