繁体   English   中英

复制到jupyter笔记本中的剪贴板

[英]Copy to clipboard in jupyter notebook

我想在一个jupyter notebok中实现一个剪贴板副本。

jupyter笔记本远程运行,因此我不能使用pandas.to_clipboardpyperclip而且我必须使用javascript

这就是我想出的:

def js_code_copy(content)
    return """
var body = document.getElementsByTagName('body')[0];
var tmp_textbox = document.createElement('input');
body.appendChild(tmp_textbox);
tmp_textbox.setAttribute('value', '{content}');
tmp_textbox.select();
document.execCommand('copy');
body.removeChild(tmp_textbox);
""".format(content=content.replace("'", '\\'+"'"))

请注意,如果我在浏览器的控制台中运行代码,代码会执行它应该执行的操作。

但是,如果我在jupyter中运行它:

from IPython.display import display, Javascript
content = "boom"
display(Javascript(js_code_copy("Copy me to clipboard")))

什么都行不通,

有任何想法吗 ?

出于安全原因,如果由于用户操作而未调用该方法(例如,单击按钮),则浏览器将禁用document.execCommand

由于您在页面上注入并运行Javascript,因此不会将其视为用户操作。

您可以尝试使用seleniumphantomJS在后台的无头浏览器中运行代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM