在本地HTML文件的JavaScript评估(没有浏览器)(Evaluate javascript

2019-09-01 23:28发布

这是一个项目,我的工作对工作的一部分。

我要自动SharePoint网站,特别是拉出来的数据数据库,我和我的同事只需要前端接入的。

我终于设法得到机械化(在python)来完成这个使用Python-NTLM,并修补它的一部分的源代码来解决重新出现的错误。

现在,我什么我希望是我最后的障碍:我需要提交表单的一部分似乎是一个JavaScript函数的输出:| 你瞧......机械化不支持javascript。 我不想效仿JavaScript功能自己在蟒蛇因为我会非常像一个可重用的解决方案...

因此,没有知道我怎么能评价我从SharePoint下载在本地的HTML的JavaScript? 我只是想以某种方式运行的JavaScript(完成页面的加载),但没有一个浏览器。

我已经看着硒,但它的工作,我需要去做的量很慢......我目前正在研究PyV8 尝试和评估自己的JavaScript ...但肯定必须有一个应用程序或库(或任何东西 )可以做这件事?

Answer 1:

好了,最后我来到了以下可能的解决方案:

  • 运行Chrome的无头和收集HTML输出(感谢koenp的链接!)
  • 运行PhantomJS,无头浏览器的JavaScript API。
  • 运行的HtmlUnit; 同样的事情,但对Java
  • 使用Ghost.py, 基于Python的无头的浏览器(我还没有看到建议出于某种原因anyyyywhere!)
  • 写解释基于Pyv8基于DOM的JavaScript(谷歌的V8 JavaScript引擎),并加入到我目前的“半解”与机械化。

现在,我已决定使用或者使用Ghost.py还是我自己的PySide / PyQt的的Webkit(鬼是如何工作的)的修改,以评估的JavaScript,因为显然他们可以运行相当快,如果你对它们进行优化,以不下载图片和禁用图形用户界面。

希望其他人会发现这个名单非常有用!



Answer 2:

那么你将需要的东西,既了解DOM和理解JavaScript,以便归结为某种形式的无头的浏览器。 也许你可以去看看硒webdriver的 ,但我猜你已经做到了。 我不hink有这样做没有实际的浏览器引擎运行的东西的一种简单的方法。



文章来源: Evaluate javascript on a local html file (without browser)