4

我有一个关于 python 和 javascript 的问题。我喜欢创建一个与 javascript 网页通信的文件。

首先,我将创建一个 Python 文件,该文件将打开一个本地网页。这个例子 localhost/test.html 这个页面是一个模板页面。代码是

<html><head><title>An example application</title></head>
<script>
function myFunction()
{
alert("Hello! I am an alert box!");
}
</script>
    <body>
    <h1 class="content">This is my sample application</h1>
    Put the content here...
    <hr>
    <a href="/exit">Quit</a>
    </body></html>

当所有内容都加载并显示时,python 文件将激活 javascript 函数“myFunction()”

我怎么做?我正在运行 Debian 并安装了 Python 和 Chromium。

4

3 回答 3

5

您需要一个库来允许浏览器和程序之间的交互。

选项包括SeleniumGhost

于 2012-10-09T10:45:09.443 回答
0

你看过网络浏览器模块吗?它可用于显示您的网页。它不能调用你的 js 函数,但也许可以从 html 中的 ready() 事件触发?

于 2012-10-09T10:55:56.007 回答
0

您可以使用带有包含您的 javascript 代码的 url 参数的webbroser模块从 python 打开网站。

在你的例子中

import webbrowser
webbrowser.open('http://localhost/test.html' + '?script=myFunction();')

然后你可以在你的 javascript 中读取 url 参数并通过eval执行它

<script>
    window.onload = function () {
        var url = new URL(window.location.href);
        var script = url.searchParams.get("script");
        console.log(script);
        eval(script)
    }    
</script>

请注意,这仅适用于测试或开发目的,不得用于生产,因为像这样使用 eval 是危险的。

于 2019-05-09T09:33:04.633 回答