簡體   English   中英

如何在 Google Cloud Composer 中設置 chromedriver 的路徑

[英]How to set path to chromedriver in Google Cloud Composer

我正在嘗試運行一個 DAG,它將每周使用 selenium 在 Cloud Composer 上抓取一個 web 頁面。

我已經嘗試在為我上傳到 GCS 的驅動程序創建 WebDriver.Chrome() 實例時提供路徑,但我認為這不是執行此操作的最佳方法。

Airflow 給出了這個錯誤

Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home

如果您對更新 Cloud Composer 的 PATH 變量有任何提示,我們將不勝感激。 如果我需要輸入更多信息,請發表評論,我會添加。

因此,沒有官方的答案,Composer和GKE的Slack渠道都無法提供幫助。 真正的問題是二進制文件不在Composer上。 目前最好的答案是手動將SSH插入所有GKE氣流工作人員並自己安裝Google Chrome: https//linuxize.com/post/how-to-install-google-chrome-web-browser-on-ubuntu -18-04 /

然后將chromedriver放入您在dags / dependencies文件夾中安裝的Chrome的正確版本,並在實例化Webdriver對象時引用它。 希望這可以幫助!

您可以創建一個 Docker 文件,並在 Docker 文件中提及安裝 chrome 的命令。 或者如 Alex 所述,您可以在所有工作節點上手動安裝 chrome。

  1. 按照本教程使用 Cloud shell 連接到您的工作節點- https://towardsdatascience.com/connect-airflow-worker-gcp-e79690f3ecea

  2. 一旦進入工作人員運行以下命令來安裝 Chrome-

sudo apt-get update

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

sudo dpkg -i google-chrome-stable_current_amd64.deb

如果您遇到一些依賴性錯誤,請運行以下命令並再次運行安裝命令

sudo apt --fix-broken install

要檢查 chrome 安裝運行 -

google-chrome --version

現在檢查 chrome 二進制文件的安裝位置

which google-chrome-stable

復制此路徑並將其放入 binary_location 中的 Selenium 選項中

options = webdriver.ChromeOptions()
options.binary_location= '/usr/bin/google-chrome-stable'
browser = webdriver.Chrome(ChromeDriverManager().install(),chrome_options=options);

如果您正在尋找 Chrome 驅動程序,您可以在創建上面所示的 webdriver object 時將其安裝在 go 上

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM