从 Web 浏览器实例调用本地 python 脚本
Invoke local python script from web browser instance
我正在开发一个 python 脚本(环境:自定义 Linux Mint 17.1),它使用网络浏览器 class 来实例化一个呈现一些 HTML 的浏览器实例。
我想在 HTML 中有一个超链接,点击它会导致
local python 到 运行.
的脚本
还没有找到任何精确的方法来做到这一点.. 任何帮助表示赞赏,
TIA, 开湾.
由于您使用的是 PyQt4 和 QtWebKit 模块,因此这样做非常容易。
您创建了一个函数来获取 url 并相应地执行操作。
下面是一些帮助您入门的示例代码:
from PyQt4.QtCore import QUrl
from PyQt4.QtGui import QApplication
from PyQt4.QtWebKit import QWebView, QWebPage
import sys
def linkHandler(url):
print "[DEBUG] Clicked link is: %s" % url
if url == "My Triggering URL":
print "Found my link, launching python script"
else:
# Handle url gracefully
pass
def main():
app = QApplication(sys.argv)
webview = QWebView()
# Tell our webview to handle links, which it doesn't by default
webview.page().setLinkDelegationPolicy(QWebPage.DelegateAllLinks)
webview.linkClicked.connect(linkHandler)
webview.load(QUrl('http://google.com'))
webview.show()
return app.exec_()
if __name__ == "__main__":
main()
P.S。每当您发布代码片段时,最好编辑您的问题并在那里提供信息,因为它会在评论字段中变得一团糟。
P.S.S.下次在你的标签中更具体一些,有很多框架可以实际创建一个浏览器,PyQt4 将是一个很好的开始标签,并且会给你更多的答案。
我正在开发一个 python 脚本(环境:自定义 Linux Mint 17.1),它使用网络浏览器 class 来实例化一个呈现一些 HTML 的浏览器实例。 我想在 HTML 中有一个超链接,点击它会导致 local python 到 运行.
的脚本还没有找到任何精确的方法来做到这一点.. 任何帮助表示赞赏, TIA, 开湾.
由于您使用的是 PyQt4 和 QtWebKit 模块,因此这样做非常容易。
您创建了一个函数来获取 url 并相应地执行操作。 下面是一些帮助您入门的示例代码:
from PyQt4.QtCore import QUrl
from PyQt4.QtGui import QApplication
from PyQt4.QtWebKit import QWebView, QWebPage
import sys
def linkHandler(url):
print "[DEBUG] Clicked link is: %s" % url
if url == "My Triggering URL":
print "Found my link, launching python script"
else:
# Handle url gracefully
pass
def main():
app = QApplication(sys.argv)
webview = QWebView()
# Tell our webview to handle links, which it doesn't by default
webview.page().setLinkDelegationPolicy(QWebPage.DelegateAllLinks)
webview.linkClicked.connect(linkHandler)
webview.load(QUrl('http://google.com'))
webview.show()
return app.exec_()
if __name__ == "__main__":
main()
P.S。每当您发布代码片段时,最好编辑您的问题并在那里提供信息,因为它会在评论字段中变得一团糟。 P.S.S.下次在你的标签中更具体一些,有很多框架可以实际创建一个浏览器,PyQt4 将是一个很好的开始标签,并且会给你更多的答案。