模拟单击反应托管按钮的用户脚本

问题描述 投票:0回答:1

我想为 Tampermonkey 编写一个用户脚本,即用普通 JavaScript 编写。用户脚本应模拟单击网站上的“粘贴文本”按钮https://quillbot.com/summarize。这个按钮是 React 管理的

<div>

我尝试使用

.click()
div
方法,但没有任何反应。

javascript reactjs userscripts
1个回答
0
投票

“粘贴文本”按钮当然使用某种方式与剪贴板进行交互。从其行为来看,他们似乎使用了 Clipboard API,并具有相应的用户授予权限。

不幸的是,如果没有用户交互,就不可能触发与剪贴板的交互。引用相关答案

当您在控制台中测试代码时,不要指望与剪贴板相关的命令能够工作。通常,页面需要处于活动状态(异步剪贴板 API)或需要用户交互(例如用户单击)以允许 (

document.execCommand('copy')
) 访问剪贴板,请参阅下文了解更多详细信息。

因此,当您尝试

.click()
“粘贴文本”按钮时(您可能在树中使用了错误的 div:

const clickablePasteText = document.querySelector("#inputGridContainerRef > div.MuiGrid-root.MuiGrid-container.css-1tze8m4 > div > div > div");
clickablePasteText.click();

...您将收到一条错误消息“粘贴权限被拒绝!”网站本机 - 似乎假设抛出的任何异常都是由于缺少权限引起的:

© www.soinside.com 2019 - 2024. All rights reserved.