1. ko30005

    No comment

    ko30005
Changes in body
Source | HTML | Preview
@@ -1,56 +1,56 @@
## 手順
- `Gemfile`に以下を追加
```
gem 'capybara'
gem 'selenium-webdriver'
gem 'chromedriver-helper'
```
- `bundle install`実行
- `spec_helper`に以下を追加
```
require 'selenium-webdriver'
require 'capybara/rspec'
Capybara.configure do |capybara_config|
capybara_config.default_driver = :selenium_chrome
capybara_config.default_max_wait_time = 10 # seconds
end
Capybara.register_driver :selenium_chrome do |app|
options = Selenium::WebDriver::Chrome::Options.new
options.add_argument('headless')
options.add_argument('--disable-gpu')
Capybara::Selenium::Driver.new(app, browser: :chrome, options: options)
end
Capybara.javascript_driver = :selenium_chrome
```
- これでheadlessモードで実行できます
- headlessモードで実行する場合もし以下のエラーが出た場合は
```
WARN Selenium [DEPRECATION] :args or :switches is deprecated. Use Selenium::WebDriver::Chrome::Options#add_argument instead.
```
- 先ほど記述した`spec_helper`の
`Capybara.register_driver :selenium_chrome`ブロック内に以下を追加することで解消します
```
options = Selenium::WebDriver::Chrome::Options.new
options.add_argument('headless')
options.add_argument('--disable-gpu')
```
- ※Chrome 59以上でないとheadlessモードは実行できません。。。
## chromedriverの更新方法
- 下記ファイルを削除します 
- - `$HOME/.chromedriver-helper`
+ - `.chromedriver-helper`
- その後`run chromedriver-update`実行で更新できます。
- ※ Gemfile で`chromedriver-helper` を入れている場合は
- `bundle exec chromedriver-update`
## 参照
https://github.com/teamcapybara/capybara#selenium
https://github.com/SeleniumHQ/selenium/wiki/Ruby-Bindings