小编cia*_*ben的帖子

如何正确调试Capybara/Poltergeist?

我正在玩capybara/poltergeist完美二人组,但我无法正常调试.我正在测试一个简单的脚本:

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'
Run Code Online (Sandbox Code Playgroud)

我希望脚本正常抓取页面并保存它,但页面为空并返回:

`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'`
Run Code Online (Sandbox Code Playgroud)

现在,这不会给我这个错误.我抓住了异常并打印出来,它给了我:

"Request to 'https://www.whoscored.com/LiveScores' failed to reach server, check DNS and/or server status"

即使我不知道为什么地址不响应capybara(并且任何提示将会欣赏:))我不明白为什么:debug配置中使用的选项似乎没有给我任何信息

ruby capybara poltergeist

3
推荐指数
1
解决办法
3775
查看次数

如何设置 cookie 从服务器发送到不同端口上的客户端

我有一个后端服务器(由 Rails 提供支持),其 API 由在 Node 简单开发服务器上运行的 HTML5 前端使用。

两者都在同一台主机上:我的机器。

当我从前端登录到后端时,rails 向我发送了会话 cookie。我可以在响应头中看到它,问题是浏览器不保存它。

政策是正确的,如果我直接从 Rails 应用程序提供相同的前端,cookie 设置正确。

我能看到的唯一区别是,当前端在 Node 服务器上运行时,它在端口上运行,8080而 rails 在端口上运行3000。我知道 cookie 不应该是特定于端口的,所以我错过了这里发生的事情。

有什么想法吗?解决方案?

(我需要能够以这种方式保持设置,以便让前端从 Node 提供服务,后端在不同端口的导轨上提供服务)

cookies port ruby-on-rails webpack-dev-server

3
推荐指数
1
解决办法
2939
查看次数

处理monorepo时如何正确使用lerna和webpack

我正在构建一个monorepo,它将包含使用React构建的UI工具包的所有单个组件。

我使用lerna是因为我没有Monorepo / multi软件包配置的经验,现在我具有以下结构:

index.js
packages/
  pack1/
  pack2/
Run Code Online (Sandbox Code Playgroud)

我想使用构建每个软件包,webpack但只想webpack.config.js在根文件夹中使用一个,并使用单个命令来创建一个pack*.dist.js在每个软件包目录中。

可能吗?有方向吗?

javascript webpack lerna

3
推荐指数
1
解决办法
1730
查看次数

如何订购代表软件版本的字符串数组?

我有一个像这样的无序数组

["1.0",
 "1.10",
 "1.2",
 "1.6",
 "1.11.1",
 "1.3.1",
 "1.8",
 "1.11.2",
 "1.7.1",
 "1.1.3",
 "1.7",
 "1.6.1",
 "1.6.2",
 "1.9",
 "1.4.1",
 "1.4.1.1",
 "1.4",
 "1.6.3",
 "1.4.1.2",
 "1.5",
 "1.3",
 "1.11",
 "1.1.2"]
Run Code Online (Sandbox Code Playgroud)

并且需要获取订购的版本(获取最新版本)。我想过使用semver库来比较它们,但这些不遵循semver约定,所以我不知道实现我想要的正确方法是什么。

更新

版本字符串不是特定于 Ruby 的,我可以接收来自所有可以在 Github 上找到的语言的输入版本

ruby sorting

-1
推荐指数
1
解决办法
194
查看次数