Tag: phantomjs

使用TeaSpoon – Jasmine编写规格时,直接使用PhantomJS访问页面

我正在尝试使用Teaspoon(Jasmine版本)为我的Rails 3.2应用程序编写Javascript规范。 我正在尝试编写一个类似这样的规范 describe(“Fun”, function() { var page = require(‘webpage’).create() //ERROR it(“should be so much fun”, function() { page.open(‘/pageToTest/’) expect($(‘#HereIsTheParty’)).not.toBe( undefined ); }); }); 但是,require(’webpage’)不运行( 错误:模块名称“system”尚未加载上下文 ),即使已经安装了Requirejs gem并且可以从Chrome控制台访问它。 我的问题是,我可以轻松获得要求(’网页’)使用Rails运行还是我应该使用其他东西? 到目前为止,我一直在使用Capybara可能更容易 describe “Fun”, :type => :feature do it “should be so much fun” do visit ‘/pageToTest/’ expect(page).to have_content ‘Success’ end end 没有任何问题。 但我更喜欢使用纯Javascript,因为在这种情况下它更方便。 你们有什么感想? 谢谢!

真正的无头网络浏览器(非无头的abilites)?

我的任务是挑战无头(大部分时间),但能够在机器的默认浏览器中启动无头浏览器的当前状态。 无头,我的意思是没有打开浏览器窗口。 所以我和Waitr-webdriver一起运行PhantomJS。 在无头状态下,我正在完成一个多页的表格。 在表单的最后,我需要能够在我的本机浏览器中使用当前状态启动该页面/会话 。 如何实现这一目标? 想象一下这种情况: #1 open_page (Headless) @browser = Watir::Browser.new :phantomjs @browser.goto “www.somewebsite.com” #2 fill in form (Headless) field = @browser.text_field(:id => ‘field’) field.set ‘somevalue’ if field.exists? #3 click to next page (Headless) button = @browser.button(:id => ‘submitButton’).click #4 fill in form (Headless) field = @browser.text_field(:id => ‘field’) field.set ‘somevalue’ if […]

PhantomJS.rb在我的rails应用程序中尝试屏幕捕获页面时冻结

使用phantomjs.rb gem时,我无法从我的应用程序中获取屏幕截图。 我目前正在尝试本地url。 如果我得到那些工作,我会稍后使用url_for。 在我的控制器中: Phantomjs.run(‘./public/javascripts/testScreenCapture.js’, ‘http://localhost:3000’) 我的testScreenCapture.js: var page = require(‘webpage’).create(); var args = require(‘system’).args; var url = args[1]; page.open(url, function () { window.setTimeout(function () { page.render(‘./public/appPage.png’); phantom.exit(); }, 3000); }); 通过“ http://www.google.com ”作为url参数工作正常,只是当我从本地服务器传递任何东西时,当rails服务器挂起并且我正在假设phantomjs脚本也是因为我不是在我的公共文件夹中获取屏幕截图。 更奇怪的是从命令行运行它: phantomjs public/javascripts/testScreenCapture.js http://localhost:3000 这很棒! 所以我假设我的控制器与服务器冲突有问题。 有任何想法吗?

如何将浏览器参数传递给Watir

我正在使用Ruby并使用最新的Watirgem版本。 我打算使用像PhantomJS这样的无头浏览器。 如何在执行时将paramater传递给Phantom JS浏览器。 我的目的是让Phantom JS不需要加载图像。

从Ruby on Rails应用程序运行phantomjs

我对使用Phantomjs很感兴趣,我想从我的Ruby on Rails应用程序中运行它。 但是,这是一个命令行工具(即我需要在我的终端中运行像phantomjs rasterize.js http://raphaeljs.com/polar-clock.html clock.png这样的东西)。 我如何从我的应用程序执行命令行工具?

如何在Watir-WebDriver中关闭PhantomJS的日志记录?

我在我的ruby(1.8)watir代码中看到了很多PhantomJS的日志信息,即INFO消息。 我该如何关闭它? 我从谷歌搜索获得了Java代码,但没有得到ruby代码。 Java PhantomJSDriver禁用控制台中的所有日志 PhantomJS is launching GhostDriver… [INFO – 2015-01-27T10:00:00.000Z] GhostDriver – Main – running on port 8910 [INFO – 2015-01-27T10:00:00.000Z] Session [30344df0-a7de-11e4-9220-5bf7aac4a098] – _decorateNewWindow – page.settings: {“XSSAuditingEnabled”:false,”javascriptCanCloseWindows”:true,”javascriptCanOpenWindows”:true,”javascriptEnabled”:true,”loadImages”:true,”localToRemoteUrlAccessEnabled”:false,”userAgent”:”Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.34 (KHTML, like Gecko) PhantomJS/1.9.1 Sa fari/534.34″,”webSecurityEnabled”:true} [INFO – 2015-01-27T10:00:00.000Z] Session [30344df0-a7de-11e4-9220-5bf7aac4a098] – page.customHeaders: – {} [INFO – 2015-01-27T10:00:00.000Z] Session [30344df0-a7de-11e4-9220-5bf7aac4a098] […]

LoadError:无法加载此类文件 – selenium / webdriver / phantomjs

我在我的Cucumber Hooks文件中有这个代码来运行它正在工作的ghost驱动程序,直到昨天我开始看到错误消息: Before do Selenium::WebDriver::PhantomJS.path = ‘C:\phantomjs-2.1.1-windows\bin\phantomjs.exe’ @browser = Watir::Browser.start “https://www.google.com”, :phantomjs @browser.window.maximize end 错误信息: LoadError: cannot load such file — selenium/webdriver/phantomjs

如何在heroku上运行phantomjs?

我想在heroku雪松堆上运行phantomjs。 我正在使用phantomjs buildpack for heroku https://github.com/stomita/heroku-buildpack-phantomjs 。 但是我按照说明操作但仍无法使其正常工作。 当我运行命令heroku run bash并输入phantomjs –version它说phantomjs: command not found 我读了一些关于LD_LIBRARY_PATH的东西需要设置为“/ usr / local / lib:/ usr / lib:/ lib:/ app / vendor / phantomjs / lib”,这是我做的但没有成功。 有什么东西我不见了吗? buildpack在哪里安装phantomjs二进制文件? 有没有办法知道二进制文件的路径? 我正在使用ruby 1.9.2 非常感谢你的帮助。 编辑:更确切地说,我想结合ruby和phantomjs,所以我使用这个自定义buildpack: https : //github.com/ddollar/heroku-buildpack-multi ,但当我推送到heroku我得到“Heroku推拒绝,无法编译Multipack应用程序“

在Heroku上运行Phantomjs

有没有办法在Heroku上运行phantomjs ,一个命令行工具?