【问题标题】:Poltergeist not redirecting pagePoltergeist 不重定向页面
【发布时间】:2015-05-28 23:01:45
【问题描述】:

在使用 Poltergeist/黄瓜时遇到了一个非常烦人的问题。当尝试通过重定向导航到任何页面时(例如,我们的应用程序具有立即重定向到登录),Poltergeist 和 PhantomJS 只是坚持使用“正在加载...”屏幕并且从不跟随重定向。

我通过点击登录页面重定向 URL 本身验证了这一点,页面加载正常并且我能够与之交互,但是任何时候发生另一个重定向,无论多么小,Poltergeist 和 PhantomJS 都会再次出现。下面是我的 env.rb 文件,其中包含我正在使用的配置。如果我将“--ignore-ssl-errors”切换为 false,页面只会显示“about:blank”,因此该选项正在执行某事。

任何可能有解决方案的人都会成为我的英雄,因为这是我们在为我们的系统完全实施 CI 之前遇到的最后一步。

require "Capybara"
require "Capybara/cucumber"
require "rspec"
require 'capybara/poltergeist'

Capybara.default_driver = :poltergeist

Capybara.register_driver :poltergeist do |app|
    options = {
        :js_errors => false,
        :timeout => 120,
        :debug => false,
        :phantomjs_options => ['--load-images=no', '--disk-cache=false', '--ignore-ssl-errors=yes'],
        :inspector => true,
    }
    Capybara::Poltergeist::Driver.new(app, options)
end

Capybara.configure do |config|
    config.javascript_driver = :poltergeist
    config.app_host = "*our webpage*"
    config.run_server = false
    config.default_wait_time = 30
end

还有我的宝石清单。如果有帮助,我在 Windows 7 上使用 PhantomJS for Windows 7 的二进制文件,版本为 1.9.2。

bigdecimal (1.2.0)
builder (3.2.2)
bundler (1.6.2)
capybara (2.2.1)
cellophane (0.1.3)
childprocess (0.5.3)
cliver (0.3.2)
cucumber (1.3.14)
diff-lcs (1.2.5)
ffi (1.9.3 x86-mingw32)
gherkin (2.12.2 x86-mingw32)
io-console (0.4.2)
json (1.7.7)
mime-types (2.2)
mini_portile (0.5.3)
minitest (4.3.2)
multi_json (1.9.2)
multi_test (0.1.1)
nokogiri (1.6.1 x86-mingw32)
poltergeist (1.5.0)
psych (2.0.0)
rack (1.5.2)
rack-test (0.6.2)
rake (0.9.6)
rdoc (4.0.0)
rspec (2.14.1)
rspec-core (2.14.8)
rspec-expectations (2.14.5)
rspec-mocks (2.14.6)
rubyzip (1.1.3)
selenium-webdriver (2.41.0)
test-unit (2.0.0.0)
websocket (1.0.7)
websocket-driver (0.3.2)
xpath (2.0.0)

【问题讨论】:

  • 应该补充一点,只要我把它移到 selenium 浏览器(我试过 Chrome 和 Firefox),页面就会正确重定向。

标签: ruby capybara phantomjs poltergeist


【解决方案1】:

我最近遇到了这个问题,正如 Mike H-R 链接的页面所示,您可能需要将 '--local-to-remote-url-access=yes' 添加到您的 phantomjs 选项中。

【讨论】:

    【解决方案2】:

    不幸的是,这不是一个解决方案,但看起来您可能有 this problem here,这是他们 github 上的一个未解决问题,似乎没有解决方案(问题仍然存在,没有任何建议),所以如果这是您的问题,您可能必须切换到 Selenium。对不起。

    【讨论】:

    • 不幸的是,这正是我所害怕的。我真的在祈祷这只是我搞砸了一些配置问题,因为 Poltergeist 是我能找到的设置无头环境的最简单方法。
    • @LoneWanderer,密切关注 github 问题,他们可能会尽快修复。如果回答对您有帮助,欢迎采纳。
    猜你喜欢
    • 1970-01-01
    • 2011-06-08
    • 2023-03-21
    • 1970-01-01
    • 2018-08-31
    • 2014-10-25
    • 1970-01-01
    • 1970-01-01
    • 2013-05-15
    相关资源
    最近更新 更多