![](/img/trans.png)
[英]How to install PYPI package (Facebook-business, Google-cloud-secret-manager) in Google Cloud Composer
[英]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。
按照本教程使用 Cloud shell 連接到您的工作節點- https://towardsdatascience.com/connect-airflow-worker-gcp-e79690f3ecea
一旦進入工作人員運行以下命令來安裝 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.