如果我向该函数添加提示,它会运行一次,但会出现错误:
第二次尝试时出现“未捕获(承诺)DOMException:文档未聚焦”。
这是代码:
function site(str) {
var url = prompt();
var text = 'The URL is ';
(async() => {
await navigator.clipboard.writeText(text + url);
})();
}Run Code Online (Sandbox Code Playgroud)
<button class="button" onclick='site()'>URL</button>Run Code Online (Sandbox Code Playgroud)
我问过我最好的朋友谷歌,但我找不到任何解决方案。我究竟做错了什么?
我想为网站创建一个非常小的扩展,它会自动将一些值复制到剪贴板。
问题是我希望它复制该值,即使浏览器没有聚焦,例如:
我尝试使用剪贴板 API:
navigator.clipboard.writeText(...)
Run Code Online (Sandbox Code Playgroud)
但我认为它不会起作用,因为浏览器必须集中注意力(我认为)。
当页面聚焦时,复制工作正常。如果我尝试切换到不同的应用程序,当我的扩展尝试复制该值时,我会收到异常:
DOMException: Document is not focused.
Run Code Online (Sandbox Code Playgroud)
有什么办法可以做到这一点吗?
我想要一个复制到剪贴板的文本,并希望将其粘贴到文本字段中。
有人可以让我知道怎么做吗
例如:-
driver.get("https://mail.google.com/");
driver.get("https://www.guerrillamail.com/");
driver.manage().window().maximize();
driver.findElement(By.id("copy_to_clip")).click(); -->copied to clipboard
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.findElement(By.id("nav-item-compose")).click();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.findElement(By.name("to")).???;//i have to paste my text here that is copied from above
Run Code Online (Sandbox Code Playgroud) 如何在 cypress 中获取“剪贴板”内容。我的 Web 应用程序中有一个按钮,单击按钮系统将执行“复制到剪贴板”并显示一条消息。以下是复制到剪贴板的 url 内容示例(此 url 内容与网站 url 不同)
我仔细检查href了该按钮标签中没有属性。所以我使用了一个名为 clipboardy 的插件,并添加了plugins/index.js文件
const clipboardy = require('clipboardy');
module.exports = ( on ) => {
on('task', {
getClipboard () {
return clipboardy.readSync();
}
});
};
Run Code Online (Sandbox Code Playgroud)
在我的测试中,我使用 cy.task() 来获取剪贴板内容,但这并没有打印实际的 url 内容
cy.get('td').find('div').find('span').find('button').find('i').eq(0).click().then(()=>{
cy.task('getClipboard').then((data)=>{
console.log("Helloooo:"+data);
})
})
Run Code Online (Sandbox Code Playgroud)
const clipboardy = require('clipboardy');
module.exports = ( on ) => {
on('task', {
getClipboard () {
return clipboardy.readSync();
}
});
};
Run Code Online (Sandbox Code Playgroud)