# Selenium 慢慢爬(1):從安裝開始 windows安裝與於docker container 中安裝 收錄Selenium import 錯誤時應該做的事 ## windows+vscode+chrome 電腦規格: >* 處理器: Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz 2.30 GHz >* Installed RAM 16.0 GB (15.8 GB usable) windows: >* Edition Windows 11 Pro >* Version 21H2 vscode: >* June 2022 (version 1.69) chrome: >* 版本 103.0.5060.114 (正式版本) (64 位元) ### 步驟 ### 1. 下載python https://www.python.org/downloads/ > 可直接下載最新版 ![](https://i.imgur.com/aFoIzHW.png) > 自行選擇版本 > 點選download > ![](https://i.imgur.com/AWVosoY.png) >拉到最底選擇下載的文件 >![](https://i.imgur.com/qAYj5P3.png) ### 2. 下載anaconda https://www.anaconda.com/download/ > 直接點選下載 > ![](https://i.imgur.com/fa033IS.png) > 安裝時添加進環境變數 > ![](https://i.imgur.com/YquNy6u.png) ### 3. 下載selenium > 1. 啟動vscode > 2. 下載selenium ```bash= pip install selenium ``` > 3. 檢視是否安裝成功 ```bash= pip show selenium ``` ![](https://i.imgur.com/ePfl6fr.png) > 4. 開啟py檔 執行import selenium ### import錯誤 > ![](https://i.imgur.com/76rdJKp.png) > 若是出現已安裝卻無法import,可以檢查vscode與conda版本是否相符,若不相符需要將vscode的版本改為conda的版本 > * conda版本: ```bash= python -V ``` > ![](https://i.imgur.com/XuXkQwX.png) > * vscode版本: > ![](https://i.imgur.com/qqdMhNR.png) > * 更改vscode: > 1.Fn+F1叫出工作列 > 2.打上並點擊: python: select interpreter > ![](https://i.imgur.com/oAohnRG.png) > 3.換成conda 的版本即可 ### 4. 下載webdriver 以chrome為範例 > 1.確認chrome的版本 > ![](https://i.imgur.com/bjhKuZ3.png) > ![](https://i.imgur.com/eoIFBUS.png) > 2.官網選擇下載版本 https://sites.google.com/chromium.org/driver/downloads?authuser=0 > 3. 解壓縮 > 4. 檢查是否可用 ```bash= from selenium import webdriver ``` ## docker+chrome 注意!!!container 內部不會跳視窗 ### 1. 建立container ```bash= docker run -dit --name crawler_Selenium(自訂container名稱) -v 外部路徑:內部路徑 -p 80(外部port):80(內部port) --network Crawlertest(自行設定) python:3.8 bash ``` #### 之後步驟都是進入container中操作 ### 2.下載chrome ```bash= apt-get update #下載chrome wget -c https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb #啟動執行檔有機會跳錯 dpkg -i google-chrome-stable_current_amd64.deb #更新一次後再重裝 apt-get update apt-get install -f dpkg -i google-chrome-stable_current_amd64.deb #根據chrome版本下載webdriver版本 google-chrome -version ``` ### 3.下載selenium ```bash= pip install selenium ``` ### 4.下載webdriver 以chrome為範例 > 1.官網選擇下載版本 https://sites.google.com/chromium.org/driver/downloads?authuser=0 > 2.安裝並存入bin ```bash= #抓取符合版本的linuxs webdriver wget https://chromedriver.storage.googleapis.com/103.0.5060.134/chromedriver_linux64.zip unzip chromedriver_linux64.zip #存入bin中 mv chromedriver /usr/bin cd /usr/bin #讓webdriver可以被執行 chmod +x chromedriver ``` ### 5.設定chromedriver docker container內不會跳視窗且須設定好不然會跳錯 > 1. 建立一個py檔 > 2.設定 ```bash= from selenium import webdriver #設定chromedriver options= webdriver.ChromeOptions() options.add_argument('--headless') options.add_argument('--no-sandbox') options.add_argument('--disable-gpu') options.add_argument('--disable-dev-shm-usage') #完成設定 driver= webdriver.Chrome(options=options) ```