- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在玩 capybara /闹鬼完美组合,但我无法正确调试。我正在测试一个简单的脚本:
logger = Logger.new "./log/who-scored-com.log"
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, js_errors: false,
debug: true,
logger: logger)
end
browser = Capybara.current_session
browser.visit 'https://www.whoscored.com/LiveScores'
browser.save_page 'page.html'
我期待脚本正常抓取页面并保存它,但是页面是空的,返回:
`Capybara::Poltergeist::StatusFailError: Capybara::Poltergeist::StatusFailError
from /home/vagrant/local/ruby-2.3.0/lib/ruby/gems/2.3.0/gems/poltergeist-1.9.0/lib/capybara/poltergeist/browser.rb:351:in `command'
from /home/vagrant/local/ruby-2.3.0/lib/ruby/gems/2.3.0/gems/poltergeist-1.9.0/lib/capybara/poltergeist/browser.rb:34:in `visit'`
现在,这不会给我任何有关此错误的信息。我捕获异常并打印它,它给了我:
“对‘https://www.whoscored.com/LiveScores’的请求未能到达服务器,请检查 DNS 和/或服务器状态”
即使我不知道为什么地址不响应 capybara (并且任何提示将不胜感激:))我不明白为什么配置中使用的 :debug
选项没有似乎没有给我任何信息
最佳答案
你有几个问题
poltergeist 记录器选项定义为“(对象响应放置)- ruby 2.3.0 标准库记录器对象不响应放置,因此它无效。”
你的例子没有Capybara.current_driver = :poltergeist
所以我不确定它实际上是在使用您在那里配置的驱动程序还是以前定义的驱动程序(如果是的话,我预计会在 Logger 对象上出现错误)
debug: true
会将 poltergeist 的调试添加到日志中,但也有来自 phantomjs 的调试信息。这是通过传递 phantomjs_options: ['--debug=true'], phantomjs_logger: <an IO object - again not a Logger object>
生成的给司机
您实际遇到的错误是由于无法协商 ssl 协议(protocol)而导致连接被拒绝 - 要修复它,请添加所需的 ssl 协议(protocol)作为 phantomjs 选项 - `phantomjs_options: ['--ssl -protocol=TLSv1.2']
关于ruby - 如何正确调试 Capybara/Poltergeist?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35844186/
我想从 Selenium 切换到 Poltergeist,但我需要模拟一个条形码扫描仪,看起来像键盘输入 标签。我将此代码与 Selenium 一起使用: native.send_keys(send_
在 rspec 执行的每个 poltergeist 测试中,如果我使用以下命令创建新 session : Capybara.session_name="some_session_name" phant
我有一个名称中带有冒号的 CSS 选择器,这显然是个问题。 例子: selector = 'input#billing:street1' find(selector) 我收到以下错误消息: The b
现在我在 Capybara 上使用 selenium 驱动程序,但我想切换到使用 Poltergeist。不过,我正在测试的许多界面都涉及在页面上的特定位置拖放元素。我编写了以下拖放方法,该方法适用于
当我单击按钮时,会显示引导模式弹出窗口。我尝试使用如下所示的 Poltergeist 功能单击“确定”或“取消”按钮,但没有成功。要么功能不起作用,要么点击外部。 Cancel OK click_
我试图了解什么是 Poltergeist 反模式,以及它与 Command 或 Delegate 模式有何不同。 我读了: http://en.wikipedia.org/wiki/Poltergei
我正在使用 PhantomJS 和 poltergeist 来模拟浏览器,但是我不确定如何指定要在代码中使用的代理: require 'capybara' require 'capybara/dsl'
我正在玩 capybara /闹鬼完美组合,但我无法正确调试。我正在测试一个简单的脚本: logger = Logger.new "./log/who-scored-com.log" Capybara
我四处搜索,但找不到办法做到这一点。 我们正在 EmberJS/Rails 应用程序上的 cucumber 功能中使用 Poltergeist 驱动程序运行 Capybara 测试。我无法使用 pag
我不知道如何在 capybara poltergeist 中单击链接 href,我的测试中有这样的示例代码 it "test", :driver => :poltergeist do page.f
我正在使用 Poltergeist/Capybara对于我的测试: Capybara.register_driver :poltergeist do |app| Capybara::Polterg
测试环境:Capybara、poltergeist、phantomjs。 当我单击测试用例中的链接时,会打开一个新窗口。我能够切换到新窗口并使用 selenium 驱动程序验证文本。但是,我无法使用
假设我在 Mac OS X 上安装了 PhantomJS,我可以编写一个普通的旧 Ruby 脚本(没有 Cucumber,没有 RSpec)来驱动 Poltergeist 吗?换句话说,我想要一些 g
使用rspec-rails-3.5.2,poltergeist-1.11.0和capybara-2.10.1 我创建了一个音频对象: Bart.pumpAudio = new Audio("asset
我遇到异常: Capybara::Poltergeist::JavascriptError 和调试输出: "args"=>[[{"message"=>"ReferenceError: Can't fi
尝试禁用或删除 Cucumber 测试的本地存储。 我尝试了以下方法: page.driver.execute_script("localStorage.clear()") 但我收到以下错误 One
我在我的规范中收到了一个特定的警告(使用 poltergeist): Viewport argument key "minimal-ui" not recognized and ignored. 它正
有人知道如何将 capybara poltergeist 的用户代理覆盖到移动用户代理以进行测试吗? 我发现了一些有关为 selenium webdriver 配置它的信息: http://blog.
看来我正在回顾 SO 帖子中采取的步骤:Capybara, Poltergeist and Phantomjs and giving an empty response in body . (如果你愿
我正在使用带有 Poltergeist 驱动程序的 Capybara。我的问题是:如何获取节点的 HTML(字符串)? 我读到过使用 RackTest 驱动程序你可以像这样得到它: find("tab
我是一名优秀的程序员,十分优秀!