相关疑难解决方法(0)

PhantomJS无法打开HTTPS站点

我正在使用以下基于loadspeed.js示例的代码打开一个https://站点,该站点也需要http服务器身份验证.

var page = require('webpage').create(), system = require('system'), t, address;

page.settings.userName = 'myusername';
page.settings.password = 'mypassword';

if (system.args.length === 1) {
    console.log('Usage: scrape.js <some URL>');
    phantom.exit();
} else {
    t = Date.now();
    address = system.args[1];
    page.open(address, function (status) {
        if (status !== 'success') {
            console.log('FAIL to load the address');
        } else {
            t = Date.now() - t;
            console.log('Page title is ' + page.evaluate(function () {
                return document.title;
            }));
            console.log('Loading time ' + t + ' msec');
        }
        phantom.exit();
    });
} …
Run Code Online (Sandbox Code Playgroud)

https screen-scraping phantomjs

103
推荐指数
5
解决办法
7万
查看次数

PhantomJS; 单击一个元素

如何单击PhantomJS中的元素?

page.evaluate(function() {
    document.getElementById('idButtonSpan').click();  
});
Run Code Online (Sandbox Code Playgroud)

这给了我一个错误"未定义不是一个函数......"

如果我改为

 return document.getElementById('idButtonSpan');
Run Code Online (Sandbox Code Playgroud)

然后打印出来,

然后它打印[object object],因此元素确实存在.

该元素充当按钮,但它实际上只是一个span元素,而不是提交输入.

我能够点击这个按钮点击Casper,但Casper有其他限制,所以我回到了PhantomJS.

javascript click phantomjs

80
推荐指数
6
解决办法
8万
查看次数

HtmlUnitDriver(HtmlUnit)与GhostDriver(PhantomJS)?

我们正在选择我们的无头浏览器驱动程序解决方案,这将是Selenium WebDriver的一些实现.还有就是GhostDriver,利用的是PhantomJS在在一侧和后端HtmlUnitDriver其基于的HtmlUnit另一方.

PhantomJS使用Safari的渲染引擎WebKit来渲染页面,而HtmlUnitDriver使用其他浏览器没有使用的Rhino引擎(它只是"模拟"浏览器行为.最后一个事实被视为con,因为渲染行为可能与流行的浏览器.

我们认为,PhantomJS是一个更强大的候选人.但是,我们并不知道所有事情:)我们的决定是否还应考虑其他因素和权衡取舍?HtmlUnitDriver可以成为更好的解决方案的其他场景?

htmlunit phantomjs selenium-webdriver ghostdriver htmlunit-driver

33
推荐指数
1
解决办法
1万
查看次数

PhantomJS使用QtWebKit还是Blink?

PhantomJS(CasperJS)是否使用WebKit或Chromium作为默认浏览器驱动程序?如果是WebKit,是直接WebKit还是qt或gtk?

blink qtwebkit chromium phantomjs casperjs

1
推荐指数
1
解决办法
1767
查看次数