我一直在使用HtmlUnit(开发人员做得很好)作为我之前的一些应用程序的无头浏览器,但javascript支持不适用于我的下一个应用程序将访问的某个网站.
我听说过关于Python的QtWebKit绑定,但是我的应用程序是Java,还是WebKit或QtWebKit的Java绑定?
有没有人知道一个良好的无头浏览器的Java与完整的JavaScript支持?
我正在尝试使用chrome headless将我的网页打印成PDF文件.PDf文件没有数据,因为无头chrome在ajax命令完成之前打印它.
关于如何让它等待的任何想法?
这是我目前使用的命令:
chrome --headless http://localhost:8080/banana/key --run-all-compositor-stages-before-draw --print-to-pdf=C:\\tmp\\tmp.pdf
Run Code Online (Sandbox Code Playgroud) 我一直在研究迄今为止可用的无头浏览器,并发现HtmlUnit被广泛使用.与HtmlUnit相比,我们有什么替代HtmlUnit可能具有优势吗?
谢谢Nayn
通过casperjs文档我无法找到从客户端javascript中看到console.log的位置.这可能吗?
如何在一个页面中读localhost入无头的Jasmine规范,以便测试用例可以在DOM元素上工作?
我的Gulp任务成功运行Jasmine规范进行单元测试,现在我需要构建集成测试来验证所提供的完整网页localhost.我正在使用该gulp-jasmine-browser插件运行PhantomJS.
例:
gulpfile.js
var gulp = require('gulp');
var jasmineBrowser = require('gulp-jasmine-browser');
function specRunner() {
gulp.src(['node_modules/jquery/dist/jquery.js', 'src/js/*.js', 'spec/*.js'])
.pipe(jasmineBrowser.specRunner({ console: true }))
.pipe(jasmineBrowser.headless());
}
gulp.task('spec', specRunner);
Run Code Online (Sandbox Code Playgroud)
规格/车,spec.js
describe('Cart component', function() {
it('displays on the gateway page', function() {
var page = loadWebPage('http://localhost/'); //DOES NOT WORK
var cart = page.find('#cart');
expect(cart.length).toBe(1);
});
});
Run Code Online (Sandbox Code Playgroud)
没有loadWebPage()功能.这只是为了说明我认为需要的功能.
我想知道是否有可能以某种方式安装没有X11依赖的Headless Chrome,例如在VM或Docker容器中?目前,当我从Chrome repo安装它时,它会下载许多无用的东西作为依赖项.构建Docker容器需要很长时间,而且还需要额外的空间.
google-chrome headless headless-browser google-chrome-headless
我正在下载以下列方式定义数据的HTML页面:
... <script type= "text/javascript"> window.blog.data = {"activity":{"type":"read"}}; </script> ...
Run Code Online (Sandbox Code Playgroud)
我想提取'window.blog.data'中定义的JSON对象.有没有比手动解析更简单的方法?(我正在寻找美丽的肥皂,但似乎无法找到一个方法,将返回确切的对象而不解析)
谢谢
编辑: 使用python无头浏览器(例如,Ghost.py)执行此操作是否可行且更正确?
我负责测试大量使用AJAX的企业Web应用程序.我需要构建一个允许在没有人为干预的情况下连续运行测试的系统.目前我最感兴趣的是负载测试,但我希望用于生成负载的相同脚本用于功能测试.
目前我正在使用磨床进行负载测试.我们记录脚本然后处理它们以处理异步请求.这个系统现在有效; 但是脚本很精致,在开发周期中我无法维护它们.我需要能够通过编程语言"运行浏览器",该语言抽象出html和javascript的细节,但它必须是无头的.换句话说,如果我的测试脚本中断,它必须代表应用程序的实际破坏.在xvfb中运行firefox 不起作用,因为即使在运行xvfb的无头linux机器上,firefox仍然使用太多资源.我尝试用无头x服务器下的webdriver驱动firefox.
我已经在HTMLUnit上工作了好几天,因为这是理想的解决方案.我一直在Jython中编写HTMLUnit驱动程序,因此我可以将它们与研磨机一起使用.不幸的是我遇到了javascript错误(这不是firefox/chrome/IE中的真正错误),我想我已经走到了尽头.无论如何我很清楚HtmlUnit,我真的需要一个替代品.
我知道还有其他一些解决方案(envjs和zombie.js); 但我不知道这些技术是如何发展的,我不想浪费另一个星期走向死胡同.
获取Firefox或Webkit的源代码并注释掉所有渲染/ GUI调用并创建真正的无头浏览器有多难?这已经完成了吗?一个人比另一个人更容易做到这一点吗?老实说,我无法理解为什么还没有这样做,所以我猜它比我预期的要困难得多.
我假设如果我能得到一个具有合理性能特征的真正无头浏览器(我有一个大型服务器机队来解决这个问题,但它不足以用于真正的Firefox和GUI渲染)那么我将被设置.
新用户在这里.
经过几个小时的建立我的烟雾和回归测试后,我在网上阅读了许多案例后发现,已知phantomjs与量角器一起运行会遇到麻烦.詹金斯一直在为它迄今为止所做的所有任务运行幻影.
他们需要这些测试作为没有安装窗口系统的ci的一部分运行.
所以如果有完全无头浏览器或无头镀铬(这将是最有益的)以及逐步设置它的推荐,我将不胜感激.我已经有一个conf.js和一个e2e.conf.js文件.我的代码与chrome完美搭配.
我相信,我正在使用iMac和selenium webdriver.
编辑:问题=量角器不适用于phantomjs.我做了什么=使用不同的网络元素,并搜索,如果有人遇到类似的情况.还搜索了用于量角器的无头浏览器,无法找到合适的解决方案.
headless-browser ×10
headless ×3
javascript ×3
browser ×2
phantomjs ×2
webkit ×2
casperjs ×1
console ×1
firefox ×1
html-parsing ×1
htmlunit ×1
jasmine ×1
java ×1
jenkins ×1
jsdom ×1
php ×1
protractor ×1
python ×1
qtwebkit ×1
selenium ×1
web-crawler ×1