PhantomJS 2.0 和 PhantomJS 1.9 的区别

Difference between PhantomJS 2.0 and PhantomJS 1.9

谁能告诉我这些版本之间的区别?

我在版本 2 中可以做什么在早期版本中不能做的事情?

我使用 PhantomJS 来执行 Selenium 生成的代码。会有性能提升吗?

PhantomJS 2 下面有一个 "new" WebKit 版本。所以从 PhantomJS 1 的 534.34 变成了 PhantomJS 2 的 538.1。这个维度的数字相差不大,但是两个 WebKit 版本的发布时间相差了两年多。另见:Does PhantomJS use QtWebKit or Blink?

并不是说它的性能更好,而是它支持更多最新的网络标准和API,并且bug更少。

过去遇到的问题:

  • element.click() 并非适用于所有元素,但仅适用于 <input><button> 元素。 (Workaround)
  • PhantomJS 现在有 Function.prototype.bind,不再需要 shim
  • PhantomJS <1.9.8 默认使用 SSLv3 which broke many scripts one day
  • PhantomJS 1 有一个错误