从脚本/命令行执行浏览器页面/ javascript

时间:2013-02-28 09:19:18

标签: javascript html5 v8 headless-browser

希望这不是一个愚蠢的问题 我最近对我非常好奇的事情有了一个想法 我是Node.js的粉丝(我认为这并不是真正相关)和V8引擎,但我想知道它是否可以运行浏览器(让它执行JS)但是内部。

我的意思是创建一个程序(可能使用V8引擎),它可以打开一个页面(就像在浏览器中一样)并执行它的javascript。

例如说我在www.mysite.co.uk/home.php

上托管了以下文件
<!DOCTYPE html>
<html>
<head>
<script>
function myFunction()
{
//javascript AJAX call to www.mysite.co.uk/ping.php
}
myFunction();
</script>
</head>

<body>
</body>
</html>

ping.php看起来像:

<?php
//connect mysql, database ping and table ping
//it is a single column table with integer value starting on 0
//increment by 1 and update the table

假设我想通过在命令行/ linux框中使用某种脚本来执行Javascript(基本上没有使用浏览器)。

类似于:

./mybrowser http://www.mysite.co.uk/home.php

甚至:

./mybrowser home.php

我觉得它应该是可能的,因为V8(或不同的JS引擎)在技术上应该能够执行Javascript但是我在浏览器上下文中(或者即使它可能的话)也是如此迷茫。< / p>

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

只要不依赖于DOM,您就可以使用任何js引擎来运行js脚本。

你可以先看看:

编辑:据我所知你想要一个无头浏览器,这里有一些:

  • HTMLUnit(我使用那个进行单元测试)
  • PhantomJS
  • Zombie.js

答案 1 :(得分:0)

使用Rhino for Java或Windows Script Host在命令行上运行JavaScript。

http://www.mozilla.org/rhino/

http://msdn.microsoft.com/en-us/library/9bbdkx3k%28VS.85%29.aspx