teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

念の為、ヘッドレスモードでのサンプル追記しています。

2019/06/18 00:38

投稿

suama
suama

スコア1997

answer CHANGED
@@ -44,8 +44,12 @@
44
44
 
45
45
  この状態で、rubyでなにか処理をさせると大丈夫になるかと思います。
46
46
 
47
- ### 追記
47
+ ### 追記:unknown error: Chrome failed to start: exited abnormally の件
48
48
 
49
+ > unknown error: Chrome failed to start: exited abnormally
50
+
51
+ とありましたが、思いつくところを。
52
+
49
53
  Seleniumは、本来は指定のブラウザが自動で立ち上がり、指定のサイトにアクセスする...という処理をします。お手元のMacやWindowsのGUIが使えるPCで実行する場合であれば、基本的にはブラウザが立ち上がり一通り処理を終えたら自動でブラウザが閉じられます。
50
54
 
51
55
  さて、Cloud9は「ヘッドレス環境」というものになるので、ブラウザを立ち上げないで動かすといったオプションを、ソースコードで指定しないといけません。
@@ -54,4 +58,16 @@
54
58
  Selenium, headless といったキーワードで出てくるかと思います。
55
59
  以下も参考にしてみてくださいね。(たぶん --headless を指定してあげればいいと思います)
56
60
 
57
- [https://github.com/SeleniumHQ/selenium/wiki/Ruby-Bindings#command-line-switches](https://github.com/SeleniumHQ/selenium/wiki/Ruby-Bindings#command-line-switches)
61
+ [https://github.com/SeleniumHQ/selenium/wiki/Ruby-Bindings#command-line-switches](https://github.com/SeleniumHQ/selenium/wiki/Ruby-Bindings#command-line-switches)
62
+
63
+ こんな感じかな。。。。と。
64
+ ```
65
+ require 'selenium-webdriver'
66
+
67
+ options = Selenium::WebDriver::Chrome::Options.new
68
+ options.add_argument('--headless')
69
+ driver = Selenium::WebDriver.for :chrome, options: options
70
+
71
+ driver.get "http://google.com/“
72
+
73
+ ```

1

オプションを追記

2019/06/18 00:38

投稿

suama
suama

スコア1997

answer CHANGED
@@ -42,4 +42,16 @@
42
42
 
43
43
  うまくパスが通ったら、ディレクトリを移動しても chromedriver -v と入力すると、バージョンが正しく表示されます。
44
44
 
45
- この状態で、rubyでなにか処理をさせると大丈夫になるかと思います。
45
+ この状態で、rubyでなにか処理をさせると大丈夫になるかと思います。
46
+
47
+ ### 追記
48
+
49
+ Seleniumは、本来は指定のブラウザが自動で立ち上がり、指定のサイトにアクセスする...という処理をします。お手元のMacやWindowsのGUIが使えるPCで実行する場合であれば、基本的にはブラウザが立ち上がり一通り処理を終えたら自動でブラウザが閉じられます。
50
+
51
+ さて、Cloud9は「ヘッドレス環境」というものになるので、ブラウザを立ち上げないで動かすといったオプションを、ソースコードで指定しないといけません。
52
+ エラーが出てうまく進めない場合は、このあたりのヘッドレス環境で動かすためのオプションが必要になります。
53
+
54
+ Selenium, headless といったキーワードで出てくるかと思います。
55
+ 以下も参考にしてみてくださいね。(たぶん --headless を指定してあげればいいと思います)
56
+
57
+ [https://github.com/SeleniumHQ/selenium/wiki/Ruby-Bindings#command-line-switches](https://github.com/SeleniumHQ/selenium/wiki/Ruby-Bindings#command-line-switches)