gpt4 book ai didi

ruby - 返回空白页的最小 Capybara/Poltergeist 测试

转载 作者:数据小太阳 更新时间:2023-10-29 07:08:12 24 4
gpt4 key购买 nike

看来我正在回顾 SO 帖子中采取的步骤:Capybara, Poltergeist and Phantomjs and giving an empty response in body . (如果你愿意,可以将其标记为重复,但我包含了一个最小的独立测试用例和版本号。)

问题

我做错了什么吗?我可以运行另一个可能有助于隔离问题的最小测试吗?

文件:pgtest.rb
require 'rubygems'
require 'capybara'
require 'capybara/dsl'
require 'capybara/poltergeist'

module PGTest
include Capybara::DSL
extend self

def test
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app)
end

Capybara.current_driver = :poltergeist
session = Capybara::Session.new(:poltergeist)

visit "http://www.google.com"
sleep 5
puts session.html
end
end

PGTest.test

当如下调用时,它会打印一个空白页:

$ ruby pgtest.rb
<html><head></head><body></body></html>

环境

  • OS X 10.8.5 (12F45)
  • ruby 2.0.0p247 (2013-06-27) [x86_64-darwin12.4.0]
  • phantomjs 1.9.2
  • capybara (2.1.0)
  • 闹鬼 (1.4.1)

免除幻影

值得注意的是,我可以使用 phantomjs 从 www.google.com 中提取 html:

文件:pjs_dump.js
var page = require('webpage').create();
page.open("http://www.google.com", function () {
var html = page.evaluate(function () {
return document.documentElement.outerHTML;
});
console.log(html);
phantom.exit();
});

当我运行“phantomjs pjs_dump.js”时,它会打印来自 www.google.com 的 html,因此 phantomjs 似乎工作正常。

最佳答案

这对我有用:

require 'rubygems'
require 'capybara'
require 'capybara/dsl'
require 'capybara/poltergeist'

Capybara.run_server = false
Capybara.current_driver = :poltergeist

class PGTest
include Capybara::DSL

def test
visit "http://www.google.com"
puts page.body
end
end

PGTest.new.test

关于ruby - 返回空白页的最小 Capybara/Poltergeist 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19477051/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com