【发布时间】:2014-10-31 15:04:39
【问题描述】:
我正在使用 capybara poltergeist 来自动化 tumblr.com 上的一个小脚本
我的脚本在我的 chrome 驱动程序上运行良好。我的 poltergeist 驱动程序可以很好地加载所有其他网站,但由于某种原因,当我尝试加载 tumblr 时会抛出 Capybara::Poltergeist::StatusFailError。
复制步骤:
$ brew install phantomjs
$ gem install capybara
$ gem install poltergeist
$ gem install selenium-webdriver
$ irb
require 'capybara/poltergeist'
module Drivers
class Poltergeist < Capybara::Poltergeist::Driver
def needs_server?
false
end
end
end
Capybara.register_driver :poltergeist_errorless do |app|
Drivers::Poltergeist.new(app, js_errors: false, timeout: 10000, phantomjs_options: ['--load-images=no', '--ignore-ssl-errors=yes'])
end
session = Capybara::Session.new(:poltergeist_errorless)
session.visit('https://google.com') # This works fine
session.visit('https://tumblr.com') # This does not work?
我试图设置我所有的标题来查看我的谷歌浏览器的请求,但这似乎也没有解决它。有人有什么建议吗?
【问题讨论】:
-
难住了。很难调试 poltergeist,但无法弄清楚为什么访问 tumblr 会导致
{'status' => 'fail' }。在硒中工作正常...... -
感谢您的调查,非常感谢您抽出宝贵的时间。我不明白为什么这是一个很难解决的问题?
标签: ruby selenium capybara tumblr poltergeist