Python打开浏览器并运行javascript函数

时间:2012-10-09 10:42:38

标签: javascript python

我对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。

3 个答案:

答案 0 :(得分:3)

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

选项包括SeleniumGhost

答案 1 :(得分:0)

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

答案 2 :(得分:0)

您可以使用webbroser模块(包含包含您的JavaScript代码的url参数)从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>

请注意,这仅适用于测试或开发目的,并且不得在生产中使用,因为使用像dangerous这样的eval。