web.Whatsapp无头地使用phantomjs

时间:2017-04-10 16:11:33

标签: browser phantomjs whatsapp

使用Phantomjs在web.whatsapp.com上启动网络会话,使用chrome的用户代理作为whatsapp不支持phantomjs作为用户代理

代码如下:

var page = require('webpage').create();
    page.settings.userAgent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36';
    page.viewportSize = {
      width: 1200,
      height: 800
    };
    page.open('https://web.whatsapp.com/', function() {
      page.render('home.png');
      phantom.exit();
    });

但是输出是空白屏幕,中心点为

script output screenshot

我的代码中的任何错误或是否存在任何兼容问题?

1 个答案:

答案 0 :(得分:1)

Phantomjs没有等待完全加载页面,你可以看到弹性加载页面图标。

请在睡眠时试用此代码。

import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import make_axes_locatable
import numpy as np; np.random.seed(0)

Z = np.random.poisson(lam=6, size=(64,64))
x = np.mean(Z, axis=0)
y = np.mean(Z, axis=1)

fig, ax = plt.subplots()
ax.imshow(Z)

# create new axes on the right and on the top of the current axes.
divider = make_axes_locatable(ax)
axtop = divider.append_axes("top", size=1.2, pad=0.3, sharex=ax)
axright = divider.append_axes("right", size=1.2, pad=0.4, sharey=ax)
#plot to the new axes
axtop.plot(np.arange(len(x)), x, marker="o", ms=1, mfc="k", mec="k")
axright.plot(y, np.arange(len(y)), marker="o", ms=1, mfc="k", mec="k")
#adjust margins
axright.margins(y=0)
axtop.margins(x=0)
plt.tight_layout()
plt.show()

注意:whatsapp需要 cryptoSha256和cryptoAesCbc 支持的浏览器才能进行正确的密码管理,Phantom js不支持cryptoSha256和cryptoAesCbc。