我想为 Tampermonkey 编写一个用户脚本,即用普通 JavaScript 编写。用户脚本应模拟单击网站上的“粘贴文本”按钮https://quillbot.com/summarize。这个按钮是 React 管理的
<div>
。
我尝试使用
.click()
的div
方法,但没有任何反应。
“粘贴文本”按钮当然使用某种方式与剪贴板进行交互。从其行为来看,他们似乎使用了 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();
...您将收到一条错误消息“粘贴权限被拒绝!”网站本机 - 似乎假设抛出的任何异常都是由于缺少权限引起的: