質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

Q&A

解決済

1回答

890閲覧

dockerでseleniumをスクレイピングしたい

mika_yamano

総合スコア3

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

0グッド

0クリップ

投稿2020/05/13 15:06

タイトルの通りなのですが、どうやってもchromeが開いてくれません

https://oliversi.com/2019/01/07/python-docker-selenium-chrome/
コードはこちらを参考にしています

Dockerfile

FROM python:3 RUN apt-get update && apt-get install -y unzip #install google-chrome RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add && \ echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main' | tee /etc/apt/sources.list.d/google-chrome.list && \ apt-get update && \ apt-get install -y google-chrome-stable #install selenium RUN pip install selenium #install ChromeDriver ADD https://chromedriver.storage.googleapis.com/81.0.4044.20/chromedriver_linux64.zip /opt/chrome/ RUN cd /opt/chrome/ && \ unzip chromedriver_linux64.zip ENV PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/chrome

test.py

from selenium import webdriver from selenium.webdriver.common.keys import Keys import time def _main(): options = webdriver.ChromeOptions() options.add_argument('--headless') options.add_argument('--no-sandbox') driver = webdriver.Chrome(options=options) driver.get('https://www.google.co.jp/') search = driver.find_element_by_name('q') search.send_keys('Python') search.send_keys(Keys.RETURN) time.sleep(3) driver.save_screenshot('search_results.png') driver.quit() if __name__ == '__main__': _main()

docker build -t python-selenium-chrome .
docker run -it --rm -v $(pwd):/root python-selenium-chrome bash
cd /root
python test.py
としても何も反応がないです、どこが間違っているでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2020/05/13 22:59

> dockerでseleniumをスクレイピングしたい タイトルが意味不明ですが、 ・期待する結果 ・実際の結果(否定形でなく肯定形で) を書いてください。
shirai

2020/05/14 07:08

エラーは出ているのでしょうか。
mika_yamano

2020/05/25 18:51

dockerでseleniumを使ってスクレイピングしたい。です申し訳ありませんでした。 以降気をつけます。ありがとうございました。
guest

回答1

0

ベストアンサー

いただいた情報で実行してみたところ、DriverとChromeのバージョン相違だったようです。

console

1root@6fdfd0403256:~# python test.py 2Traceback (most recent call last): 3 File "test.py", line 22, in <module> 4 _main() 5 File "test.py", line 9, in _main 6 driver = webdriver.Chrome(options=options) 7 File "/usr/local/lib/python3.8/site-packages/selenium/webdriver/chrome/webdriver.py", line 76, in __init__ 8 RemoteWebDriver.__init__( 9 File "/usr/local/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__ 10 self.start_session(capabilities, browser_profile) 11 File "/usr/local/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session 12 response = self.execute(Command.NEW_SESSION, parameters) 13 File "/usr/local/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute 14 self.error_handler.check_response(response) 15 File "/usr/local/lib/python3.8/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response 16 raise exception_class(message, screen, stacktrace) 17selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 81

私の環境の場合では、Dockerfileを以下に書き換えたらエラーは起きなくなりました。

Dockerfile

1#ADD https://chromedriver.storage.googleapis.com/81.0.4044.20/chromedriver_linux64.zip /opt/chrome/ 2ADD https://chromedriver.storage.googleapis.com/83.0.4103.39/chromedriver_linux64.zip /opt/chrome/

投稿2020/05/25 14:36

yurak

総合スコア160

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mika_yamano

2020/05/25 18:53

質問の内容も分かりにくくご迷惑をかけたと思いますが、期待通りの動作になってくれたので思わず飛び上がってしまいました。本当にありがとうざいます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問