[解決済み] セッションが作成されません。このバージョンのChromeDriverはChromeバージョンにしか対応していません ChromeDriver ChromeでSeleniumを使用した場合の74エラー
質問
RSeleniumをrsDriver関数を使って実行しようとしていますが
rD <- rsDriver()
新しいバージョンのChromeが必要だというメッセージが表示されます。
> rD <- rsDriver()
checking Selenium Server versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
checking chromedriver versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
checking geckodriver versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
checking phantomjs versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
[1] "Connecting to remote server"
Selenium message:session not created: This version of ChromeDriver only supports Chrome version 74
(Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Mac OS X 10.14.3 x86_64)
Could not open chrome browser.
Client error message:
Summary: SessionNotCreatedException
Detail: A new session could not be created.
Further Details: run errorDetails method
Check server log for further details.
エラーメッセージでは、Chromeのバージョン74.0.3729.6が必要なようですが、Chromeの設定を見ると、最新の安定版(73.0.3683.75)であることが分かります。さらにググってみると、74.0.3729.6はChromeのプレリリース開発版です。RSeleniumでChromeDriverを使うには、これをインストールする必要があるのでしょうか?
Chromeを使うことに固執しているわけではないのですが、rsDriverにFirefoxを使わせることができないのです。
browser = "firefox"
rsDriverはChromeDriverが私のChromeのバージョンをサポートしていないという同じエラーメッセージを表示します。
私のセッション情報は
R version 3.5.2 (2018-12-20)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Mojave 10.14.3
Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib
locale:
[1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] wdman_0.2.4 forcats_0.3.0 stringr_1.3.1 dplyr_0.7.8 purrr_0.2.5 readr_1.3.1 tidyr_0.8.2
[8] tibble_2.0.1 ggplot2_3.1.0 tidyverse_1.2.1 rvest_0.3.2 xml2_1.2.0 RSelenium_1.7.5
解決方法は?
今日、同じ問題に遭遇し、Googleからこの投稿と他の投稿を見つけました。私はあなたのコードの修正として、より直接的な解決策を持っているかもしれないと思います。前の回答は、バージョンの不一致を特定する上で正しいです。
提案された解決策を試しましたが、無駄でした。私のパソコンでは、バージョンは正しいことがわかりました。しかし、このミスマッチエラーは、コンピュータにインストールされている実際のバージョンから生じたものではなく、RSeleniumのコードがデフォルト引数でChrome/ChromeDriverの"最新" バージョンを求めているのです。参照
?rsDriver()
のヘルプページで引数を確認できます。
コードを実行すると
binman::list_versions("chromedriver")
ヘルプで指定されているように、その関数に対応したバージョンを識別することができます。私の場合、以下のコードで接続を確立することができました。
driver <- rsDriver(browser=c("chrome"), chromever="73.0.3683.68", extraCapabilities = eCaps)
Chromeのバージョンを指定する場合は
chromever=
引数で指定します。私は最も近いバージョンを使用しなければなりませんでしたが(私のクロームのバージョンは "73.0.3683.75"でした)。
お役に立てれば幸いです。
関連
-
二項演算子への非数値引数を報告するR言語エラー
-
[解決済み] Selenium WebDriver エラー: 無効なセッション ID
-
R言語エラー:図の余白が大きすぎる 解決方法
-
[解決済み] ネストされた plot_grid を同じサイズに拡大縮小するには?
-
[解決済み] ggplot2 の軸ラベルを回転させ、間隔を空ける
-
[解決済み] chromedriverでSeleniumを使用していることをWebサイトで検出することは可能ですか?
-
[解決済み] ggplot2 Rプロットで軸の制限を設定するには?
-
[解決済み] 先頭と末尾の空白を削除するにはどうしたらよいですか?
-
[解決済み] ggplot2 の棒グラフで棒を並べる
-
[解決済み] [Solved] data.frameのカラムをベクトルに変換する?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 自作カスクオプションが認識されない?
-
Rの警告 "条件の長さが1より大きいので、最初の要素しか使えない "に対する解決策
-
R言語 - マトリックス
-
Rによる系統的クラスタリング(階層)分析のグラフ形式の完全版
-
[解決済み] Rでデータフレームに行を追加する方法は?
-
[解決済み] Rで2つのグラフを同じプロットで表示する
-
[解決済み] リストをデータフレームに変換する
-
[解決済み] データフレームのリストを行単位で1つのデータフレームに結合する
-
[解決済み] ベクトル中のある要素のインデックスを求めるR関数はありますか?
-
[解決済み】私のggplot2構文が賢明であるときに、R CMDチェック「no visible binding for global variable」注記を処理するにはどうすればよいですか?