标签: phantomjs

Phantom.js捕获所有AJAX吗?

我有一个拥有大量AJAX的骨干应用程序.(每个页面加载导致5-6个ajax调用)因为我在这些视图中有很多视图和内部视图,

如果我运行Phantom.js,我可以获得最终的HTML结果吗?

最终结果是用户在所有ajax调用运行后看到的内容.

javascript backbone.js phantomjs

25
推荐指数
2
解决办法
3万
查看次数

如何在python webdriver中为phantomjs/ghostdriver设置代理?

我试图弄清楚如何通过HTTP代理路由我的请求.

我正在初始化这样的webdriver:

user_agent = 'my user agent 1.0'
DesiredCapabilities.PHANTOMJS['phantomjs.page.settings.userAgent'] = user_agent
driver = webdriver.PhantomJS()
Run Code Online (Sandbox Code Playgroud)

我已经浏览了文档和源代码,似乎无法通过webdriver找到使用phantomjs代理服务器的方法.

有什么建议?

python proxy webdriver phantomjs ghostdriver

24
推荐指数
3
解决办法
3万
查看次数

24
推荐指数
2
解决办法
7300
查看次数

PhantomJS/Javascript:写入文件而不是控制台

从PhantomJS,我如何写入日志而不是控制台?

在示例https://github.com/ariya/phantomjs/wiki/Examples中,它总是(在我看过的那些)中说出如下内容:

console.log('some stuff I wrote');
Run Code Online (Sandbox Code Playgroud)

这不是那么有用.

javascript phantomjs

24
推荐指数
3
解决办法
2万
查看次数

phantomjs exit()不会终止进程

我一直在Windows 7上使用phantom.js已经有一段时间了(我认为v1.4.0是我使用的第一个版本)并且一切都很好.但由于某些原因,在调用phantom.exit()时,该过程不再被正确终止,我绝对不知道为什么.

问题开始发生在v1.7.0中,从一天到另一天.一切都曾在1.7.0中运行良好,但之后就没有了.即使在升级到1.8.0和现在1.9.0后它仍然无法正常工作.控制台只是挂起.我无法输入任何内容,phantomjs.exe仍然列在taskmanager的进程列表中,即使CTRL + C也没有做任何事情.整件事情刚刚结束.

控制台中的下划线闪烁,好像它期望更多输入,但我无法输入任何内容.我唯一的机会是使用[X]按钮关闭cmd窗口,这对于自动化测试来说是完全愚蠢的.

我使用从http://phantomjs.org/下载的预编译二进制文件,正如我所说:它从一天到另一天停止工作.我甚至重新安装了几次,甚至重新安装到不同的文件夹,但这个过程不再被终止.谁知道问题可能是什么?

调用phantom.exit()后的幻像屏幕截图

windows phantomjs

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

如何使用phantomjs从文件中使用持久性cookie

我需要一些身份验证才能获得特定网址.在浏览器中我只需要登录一次,因为可以使用cookie中的会话ID的其他相关URL不需要转到登录页面.同样,我可以--cookies-file=cookies.txt在phantomjs的命令行中使用cookie文件中生成的cookie 来打开需要相同cookie细节的其他页面.

请建议.

authentication automation phantomjs

24
推荐指数
2
解决办法
2万
查看次数

可靠地检测基于PhantomJS的垃圾邮件机器人

有没有办法一致地检测PhantomJS/CasperJS?我一直在处理一堆用它构建的恶意垃圾邮件,并且已经能够基于某些行为阻止它们,但我很好奇是否有一种坚如磐石的方式来了解CasperJS是否正在使用中,如同处理不断适应变得有点烦人.

我不相信使用Captchas.他们是负面的用户体验,ReCaptcha从未在我的MediaWiki安装上阻止垃圾邮件.由于我们的网站没有用户注册(匿名讨论板),我们需要为每个帖子都有一个Captcha条目.我们每天会收到数千个合法的帖子,而且Captcha会看到这个号码.

mediawiki spam-prevention spam phantomjs casperjs

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

CasperJS/PhantomJS无法加载https页面

我知道有一些网页PhantomJS/CasperJS无法打开,我想知道这个是否是其中之一:https://maizepages.umich.edu .CasperJS给出错误:PhantomJS无法打开页面状态=失败.

我尝试忽略-ssl-errors并更改我的用户代理但我不确定如何确定使用哪些.

我现在正在做的就是基本的casper设置在casper.start(url, function () { ... })哪里url=https://maizepages.umich.edu;

javascript ssl web-scraping phantomjs casperjs

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

获取可靠的网站截图?Phantomjs和Casperjs都在一些网站上返回空屏幕截图

打开网页并截取屏幕截图.

只使用phantomjs:(这是一个简单的脚本,实际上它是在他们的文档中使用的示例脚本.http://phantomjs.org/screen-capture.html

var page = require('webpage').create();
page.open('http://github.com/', function() {
  page.render('github.png');
  phantom.exit();
});
Run Code Online (Sandbox Code Playgroud)

问题是,对于一些网站(如github),足够有趣的是以某种方式检测并且不提供phantomjs并且没有任何东西被渲染.结果是github.png一个空白的白色png文件.

用说:"google.com"替换github,你会得到一个很好的(正确的)截图.

起初我认为这是一个Phantomjs问题所以我尝试通过Casperjs运行它:

casper.start('http://www.github.com/', function() {
    this.captureSelector('github.png', 'body');
});

casper.run();
Run Code Online (Sandbox Code Playgroud)

但我得到与Phantomjs相同的行为.

所以我认为这很可能是用户代理问题.如:Github嗅出Phantomjs并决定不显示页面.所以我设置用户代理如下,但仍然无法正常工作.

var page = require('webpage').create();
page.settings.userAgent = 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36';
page.open('http://github.com/', function() {
  page.render('github.png');
  phantom.exit();
});
Run Code Online (Sandbox Code Playgroud)

所以我试图解析页面,显然有些网站(再次像github)似乎没有发送任何网络.

使用casperjs我试图打印标题.对于google.com我回来了Google但是对于github.com我回来了bupkis.示例代码:

var casper = require('casper').create();

casper.start('http://github.com/', function() {
    this.echo(this.getTitle());
});

casper.run();  
Run Code Online (Sandbox Code Playgroud)

与上述相同也在纯粹的幻影中产生相同的结果.

更新:

这可能是一个时间问题吗?github只是超级慢吗?我怀疑它,但无论如何都要测试..

var page = require('webpage').create();
page.open('http://github.com', function (status) {
    /* irrelevant */ …
Run Code Online (Sandbox Code Playgroud)

javascript screen-scraping phantomjs casperjs

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

CasperJS和'不安全的JavaScript尝试访问带URL的帧'错误

我有简单的页面用javascript验证输入中写的电子邮件:

email.html:

<!DOCTYPE html>
<html>
    <head>
        <title>Email validation</title>
        <script src="email.js"></script>
    </head>
    <body>
        <span style="padding: 5px;">
            <input type="text" id="email-input" placeholder="Email..."></input>
        </span>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

email.js:

var checkEmail = function() {
    var regexp = /BIG_REGEX/;
    var email = document.getElementById('email-input').value;
    if (email === '') 
        removeFrame();
    else if (regexp.test(email))
        drawFrame('green');
    else
        drawFrame('red');
};

var removeFrame = function() {
    var input = document.getElementById('email-input');
    input.parentNode.style.backgroundColor = input.parentNode.parentNode.style.backgroundColor;
};

var drawFrame = function(color) {
    var input = document.getElementById('email-input');
    input.parentNode.style.backgroundColor = color;
};


window.onload = function() {
    document.getElementById('email-input').onkeyup = …
Run Code Online (Sandbox Code Playgroud)

javascript integration-testing phantomjs casperjs

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