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

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

新規登録して質問してみよう
ただいま回答率
85.37%
Google Cloud Platform

Google Cloud Platformは、Google社がクラウド上で提供しているサービス郡の総称です。エンドユーザー向けサービスと同様のインフラストラクチャーで運営されており、Webサイト開発から複雑なアプリ開発まで対応可能です。

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

0回答

125閲覧

GCPfunction上で、chromedriverのパスを通したい。

yumetama

総合スコア10

Google Cloud Platform

Google Cloud Platformは、Google社がクラウド上で提供しているサービス郡の総称です。エンドユーザー向けサービスと同様のインフラストラクチャーで運営されており、Webサイト開発から複雑なアプリ開発まで対応可能です。

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2023/02/23 17:19

実現したいこと

GCPfunction上で、chromedriverのパスを通したい。

前提

スクレイピングした情報をもとにgoogleカレンダーに予定を追加するコードを作成しています。
GCP上で定期的に動作させたいと考えており、GCPfunctionにコードをデプロイしているのですが、スクレイピングに使用しているchromdriverのパスを通すことが上手く出来ません。そもそもfunction上にアップロードしたファイルのパスがよく分かっていないため、ご教授いただけましたら幸いです。

発生している問題・エラーメッセージ

Traceback (most recent call last): File "/workspace/selenium/webdriver/common/service.py", line 72, in start self.process = subprocess.Popen(cmd, env=self.env, File "/layers/google.python.runtime/python/lib/python3.10/subprocess.py", line 971, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, File "/layers/google.python.runtime/python/lib/python3.10/subprocess.py", line 1847, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: '指定したchromedriverのパス'

該当のソースコード

python3.10.9

1import os 2from time import sleep 3from selenium import webdriver 4from selenium.webdriver.chrome.options import Options 5from selenium.webdriver.common.by import By 6from selenium.common.exceptions import TimeoutException 7from datetime import datetime 8 9 10options = Options() 11 12options.add_argument('--headless') 13options.add_argument('--disable-gpu') 14options.add_argument('--no-sandbox') 15options.add_argument('--hide-scrollbars') 16options.add_argument('--single-process') 17options.add_argument('--ignore-certificate-errors') 18 19 20USERNAME = 'hoge' 21PASSWORD = 'hogehoge' 22URL = 'hogeho' 23ERRORURL = 'hogehogeho' 24 25 26def get_manaba_report(): 27 driver_path = "試したことにおけるpath" 28 driver = webdriver.Chrome(executable_path= driver_path) 29 #以下スクレイピングのコード文

試したこと

GCPfunction上でのファイルの操作に関して全く知識がないため、webの情報をもとに以下を試しましたが、上手く行きませんでした。

driver_path = '/tmp/chromedriver' →上記のエラーメッセージ driver_path = os.getcwd() + '/chromedriver' →同上。pathは'/workspace/chromedriver'と返された上でエラーとなっていました。

補足情報(FW/ツールのバージョンなど)

python 3.10.9
chromedriver 109.0.5414.74(おそらくGCP上ではバージョンが相違を起こすと思いますが、一先ずパスを通すことを優先したいです。)

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問