有没有一种方法可以在IPython笔记本单元格中使程序生成的URL在一个新的浏览器标签页或窗口中打开?
执行笔记本单元格后,应该打开一个指向生成链接的新标签页或窗口。
注意:当我只返回一个带有超链接的IPython.core.display.HTML实例时,链接是无效的。如果将url复制并粘贴到浏览器窗口中,它是有效的。
有没有一种方法可以在IPython笔记本单元格中使程序生成的URL在一个新的浏览器标签页或窗口中打开?
执行笔记本单元格后,应该打开一个指向生成链接的新标签页或窗口。
注意:当我只返回一个带有超链接的IPython.core.display.HTML实例时,链接是无效的。如果将url复制并粘贴到浏览器窗口中,它是有效的。
当您使用标准浏览器时,可以使用webbrowser
模块:
import webbrowser
# generate an URL
url = 'https://' + 'www.google.com'
webbrowser.open(url)
你可以使用JavaScript在客户端打开链接。它可以在远程服务器上工作,因为标签的打开发生在用户的浏览器中而不是在服务器上。
这个简单的代码片段使用window.open()
来打开一个新的标签页或窗口,并访问您想要的URL。
from IPython.display import Javascript
def window_open(url):
display(Javascript('window.open("{url}");'.format(url=url)))
基于Michael的https://dev59.com/KFsW5IYBdhLWcg3w7KxL#61900572答案,我提供了一种修复模块不可调用错误的变体:
import IPython
def window_open(url):
IPython.display.display(IPython.display.Javascript('window.open("{url}");'.format(url=url)))