- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
两周前,我设法在 Heroku 上建立了一个工作环境,结合了 Capybara、Selenium、Chromedriver 和 Chrome 用于网络抓取。然而,一周前我一定是做了一些更改,这导致设置因找不到 Chrome 二进制文件而崩溃。
WARN: Selenium::WebDriver::Error::UnknownError: unknown error: cannot find Chrome binary (Driver info: chromedriver=2.40.565383 (76257d1ab79276b2d53ee976b2c3e3b9f335cde7),platform=Linux 4.4.0-1019-aws x86_64)
我在 Heroku-14 Stack 上使用两个相关的构建包
https://github.com/heroku/heroku-buildpack-xvfb-google-chrome
https://github.com/heroku/heroku-buildpack-chromedriver
用过的 gem :
gem 'selenium-webdriver','>=3.6.0'
gem 'chromedriver-helper'
我整个周末都试图通过将各种路径直接传递到 capybara.rb 初始化程序(并通过运行 heroku run bash 来比较它们)来让它工作,但无法让它工作。
capybara .rb
require "selenium/webdriver"
chrome_bin = ENV.fetch('GOOGLE_CHROME_SHIM', nil)
chrome_opts = chrome_bin ? { "chromeOptions" => { "binary" => 'app/.apt/usr/bin/google-chrome-stable' } } : {}
puts chrome_opts.to_s
Capybara.register_driver :chrome do |app|
Capybara::Selenium::Driver.new(
app,
browser: :chrome,
desired_capabilities: Selenium::WebDriver::Remote::Capabilities.chrome(chrome_opts)
)
end
Capybara.default_driver = :chrome
Capybara.javascript_driver = :chrome
我还通过界面在 Heroku 中设置了 ENV 变量,但是当通过 heroku run rails c 检查 ENV 时,BIN 变量似乎是从 buildpack 加载的,并覆盖了我的配置。
I set GOOGLE_CHROME_BIN and GOOGLE_CHROME_SHIM to: /app/.apt/usr/bin/google-chrome
我不确定我必须做出什么样的改变才能让它再次工作。有很多拼图,我需要修复哪一个?欢迎提出建议!
已解决:
require "selenium/webdriver"
chrome_bin = ENV.fetch('GOOGLE_CHROME_SHIM', nil)
Capybara.register_driver :chrome do |app|
browser_options = ::Selenium::WebDriver::Chrome::Options.new
browser_options.binary = chrome_bin
Capybara::Selenium::Driver.new(app, browser: :chrome, options: browser_options)
end
Capybara.default_driver = :chrome
Capybara.javascript_driver = :chrome
最佳答案
我猜你在过去几周升级到了最新的 selenium-webdriver 和 chromedriver。 chromeOptions
不再是要传递的有效 key ,您可以尝试将其更改为 goog:chromeOptions
但您实际上应该只使用 Selenium::的实例WebDriver::Chrome::Options
类
Capybara.register_driver :chrome do |app|
options = ::Selenium::WebDriver::Chrome::Options.new
options.binary = ...
Capybara::Selenium::Driver.new(app, browser: :chrome, options: browser_options)
end
关于ruby - 在带有 Selenium for Ruby on Rails 的 Heroku 上找不到 Chrome 二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51233654/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!