【Puppeteer】‘left‘ is already pressed, ‘${button}‘ is already pressed 的解决办法

2024-09-06 09:28

本文主要是介绍【Puppeteer】‘left‘ is already pressed, ‘${button}‘ is already pressed 的解决办法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

解决过程如下

这是我原来的代码,不管我怎么修改,都一直会出现 'left' is already pressed 这个错误

找了很多资料 搜了 很多网站都 找不到解决办法

async function dragAndDrop(page, canvasSelector, startX, startY, endX, endY) {const startCoordinates = await getAbsoluteCoordinates(page, canvasSelector, startX, startY);const endCoordinates = await getAbsoluteCoordinates(page, canvasSelector, endX, endY);// 移动到起始点并按下鼠标await page.mouse.move(startCoordinates.x, startCoordinates.y);await page.mouse.down();// 拖动到目标点await page.mouse.move(endCoordinates.x, endCoordinates.y);// 松开鼠标按钮await page.mouse.up();
}

后来跟 GPT 问答了10个来回,终于得到了 AI 的灵感提示,找到了解决办法

async function dragAndDrop(page, canvasSelector, startX, startY, endX, endY) {// 获取起始和结束点的绝对坐标const startCoordinates = await getAbsoluteCoordinates(page, canvasSelector, startX, startY);const endCoordinates = await getAbsoluteCoordinates(page, canvasSelector, endX, endY);// 移动到起始位置await page.mouse.move(startCoordinates.x, startCoordinates.y);await new Promise(resolve => setTimeout(resolve, 100)); // 等待 100 毫秒// 确保鼠标按钮未被按下,尝试释放按钮try {await page.mouse.up();} catch (e) { } // 捕获并忽略可能的错误(例如:按钮未按下的错误)// 按下鼠标按钮await page.mouse.down();await new Promise(resolve => setTimeout(resolve, 100)); // 等待 100 毫秒// 拖动到目标点await page.mouse.move(endCoordinates.x, endCoordinates.y);await new Promise(resolve => setTimeout(resolve, 100)); // 等待 100 毫秒// 松开鼠标按钮// await page.mouse.up();// 确保鼠标按钮未被按下,尝试释放按钮try {await page.mouse.up();} catch (e) { } // 'left' is already pressed 由于这个错误 一直出现,所以 逼不得已出此下策 做的兼容 // 捕获并忽略可能的错误(例如:按钮未按下的错误)
}

总结: 解决办法

 try {await page.mouse.up();} catch (e) { } // 捕获并忽略可能的错误(例如:按钮未按下的错误)

这篇关于【Puppeteer】‘left‘ is already pressed, ‘${button}‘ is already pressed 的解决办法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1141634

相关文章

Solr 使用Facet分组过程中与分词的矛盾解决办法

对于一般查询而言  ,  分词和存储都是必要的  .  比如  CPU  类型  ”Intel  酷睿  2  双核  P7570”,  拆分成  ”Intel”,”  酷睿  ”,”P7570”  这样一些关键字并分别索引  ,  可能提供更好的搜索体验  .  但是如果将  CPU  作为 Facet  字段  ,  最好不进行分词  .  这样就造成了矛盾  ,  解决方法

ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开OEM的解决办法

在win7 64位系统下安装oracle11g,在使用Database configuration Assistant创建数据库时,在创建到85%的时候报错,错误如下: 解决办法: 在listener.ora中增加对BlueAeri-PC或ip地址的侦听,具体步骤如下: 1.启动Net Manager,在“监听程序”--Listener下添加一个地址,主机名写计

Anaconda 中遇到CondaHTTPError: HTTP 404 NOT FOUND for url的问题及解决办法

最近在跑一个开源项目遇到了以下问题,查了很多资料都大(抄)同(来)小(抄)异(去)的,解决不了根本问题,费了很大的劲终于得以解决,记录如下: 1、问题及过程: (myenv) D:\Workspace\python\XXXXX>conda install python=3.6.13 Solving environment: done.....Proceed ([y]/n)? yDownloa

Flutter Button使用

Material 组件库中有多种按钮组件如ElevatedButton、TextButton、OutlineButton等,它们的父类是于ButtonStyleButton。         基本的按钮特点:         1.按下时都会有“水波文动画”。         2.onPressed属性设置点击回调,如果不提供该回调则按钮会处于禁用状态,禁用状态不响应用户点击。

小程序button控件上下边框的显示和隐藏

问题 想使用button自带的loading图标功能,但又不需要button显示边框线 button控件有一条淡灰色的边框,在控件上了样式 border:none; 无法让button边框隐藏 代码如下: <button class="btn">.btn{border:none; /*一般使用这个就是可以去掉边框了*/} 解决方案 发现button控件有一个伪元素(::after

笔记本电脑开机报错故障的原因及解决办法

笔记本电脑开机报错故障是指笔记本电脑开机自检时或启动操作系统前停止启动,在显示屏 出现一些错误提示的故障。   笔记本电脑开机报错故障的原因及解决办法   造成此类故障的原因一般是笔记本电脑在启动自检时,检测到硬件设备不能正常工作或在自 检通过后从硬盘启动时,出现硬盘的分区表损坏、硬盘主引导记录损坏、硬盘分区结束标志丢失 等故障,笔记本电脑出现相应的故障提示。   维修此类故障时

adb shell 执行后台程序后断开adb后台进程被结束的解决办法

环境:Android 版本 Android8 通常让程序后台执行就是在命令 最后加上 &即可,但是在Android 8上实验发现,程序的确后台了,但是拔掉USB线再连接上发现进程已结束。不确定Android早期版本是否存在此问题。 参考网上一些Linux方法,如加nohup 仍然无效,还是会结束。看来Android adb shell 与 Linux shell 还是有一定区别。 后来在网上

利用PL/SQL工具连接Oracle数据库的时候,报错:ORA-12638: 身份证明检索失败的解决办法

找到相对应的安装目录:比如:E:\oracle\product\10.2.0\client_1\NETWORK\ADMIN 在里面找到:SQLNET.AUTHENTICATION_SERVICES= (NTS) 将其更改为:SQLNET.AUTHENTICATION_SERVICES= (BEQ,NONE) 或者注释掉:#SQLNET.AUTHENTICATION_SERVICES= (N

Win10磁盘出现小锁和感叹号的解决办法

很多说在设置-系统安全,但是我的么有,只能上命令了,管理员身份运行powerShell:  su 速度比较慢,耐心等待会,每次查看状态加密的百分比都是减少哦  manage-bde -off G: manage-bde -status

【虚拟机/服务器】XAMPP错误: Apache shutdown unexpectedly解决办法

XAMPP安装好之后启动,但有些用户在启动apache的时候会出现: 11:41:38 [Apache] Status change detected: running11:41:38 [Apache] Status change detected: stopped11:41:38 [Apache] Error: Apache shutdown unexpectedly.11:41:38