Cucumber Ruby の Selenium ChromeDriver で W3C モード (Selenium::WebDriver::Error::UnknownCommandError) 中に非 W3C 標準コマンドを呼び出すことはできません。質問する

Cucumber Ruby の Selenium ChromeDriver で W3C モード (Selenium::WebDriver::Error::UnknownCommandError) 中に非 W3C 標準コマンドを呼び出すことはできません。質問する

私たちは、Jenkins 上の Docker で Chrome ヘッドレス ブラウザでいくつかのテストを実行する Cucumber Ruby 自動化フレームワークを持っています。数日前から、「このバージョンの ChromeDriver は Chrome バージョン 75 のみをサポートしています」というエラーが表示されるようになりました。今回は、ChromeDriver 2.46 と google-chrome-unstable ブラウザを使用して、次のコマンドを実行しました。

#Chrome
RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
RUN echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list
RUN apt-get update -y
RUN apt-get install -y google-chrome-unstable
RUN apt-get install unzip

# Set up Chromedriver Environment variables
ENV CHROMEDRIVER_VERSION 2.46
ENV CHROMEDRIVER_VERSION 75.0.3770.8
ENV CHROMEDRIVER_DIR /chromedriver
RUN mkdir $CHROMEDRIVER_DIR
# Download and install Chromedriver
RUN wget -q --continue -P $CHROMEDRIVER_DIR "http://chromedriver.storage.googleapis.com/$CHROMEDRIVER_VERSION/chromedriver_linux64.zip"
RUN unzip $CHROMEDRIVER_DIR/chromedriver* -d $CHROMEDRIVER_DIR
ENV PATH $CHROMEDRIVER_DIR:$PATH

75.0.3770.8Chromedriverのバージョンを に、ブラウザを に更新しました。google-chrome-beta=75.0.3770.27-1

#Chrome
RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
RUN echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list
RUN apt-get update -y
RUN apt-get install -y google-chrome-beta=75.0.3770.27-1
RUN apt-get install unzip

# Set up Chromedriver Environment variables
ENV CHROMEDRIVER_VERSION 75.0.3770.8
ENV CHROMEDRIVER_DIR /chromedriver
RUN mkdir $CHROMEDRIVER_DIR
RUN echo $CHROMEDRIVER_DIR
# Download and install Chromedriver
RUN wget -q --continue -P $CHROMEDRIVER_DIR "http://chromedriver.storage.googleapis.com/$CHROMEDRIVER_VERSION/chromedriver_linux64.zip"
RUN unzip $CHROMEDRIVER_DIR/chromedriver* -d $CHROMEDRIVER_DIR
ENV PATH $CHROMEDRIVER_DIR:$PATH

そして、次のようなエラーが表示されます:

unknown command: Cannot call non W3C standard command while in W3C mode (Selenium::WebDriver::Error::UnknownCommandError)

W3C モードを無効にしたり、それを使用しない Chrome ブラウザとドライバーの古いバージョンをダウンロードしたりすることは可能ですか? W3C チェックを無効にできると便利だと思います。

ベストアンサー1

ウェブドライバを初期化するときにW3Cを無効にするだけです

options = webdriver.ChromeOptions()
options.add_experimental_option('w3c', False)
create_webdriver('Chrome', options=options)

環境:

  • クローム75
  • ChromeDriver 75

おすすめ記事