1. 程式人生 > 實用技巧 >netcore3.1 程式在cento8下執行selenium

netcore3.1 程式在cento8下執行selenium

我需要在linux下執行selenium抓取資料,本人不熟悉Python,所以只能用netcore。在帶linux介面上執行爬取程式,驅動chromedriver比較簡單。介面化安裝好chrome,下載chromedriver

放到程式目錄下,跑起來沒啥問題。

在linux無介面下過程還算順利。

第一步準備好linux系統,本人用的是centos8,下面是centos上準備工作:

1、安裝chrome 用下面的命令安裝Google Chrome yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm 也可以先下載至本地,然後安裝 wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm yum install ./google-chrome-stable_current_x86_64.rpm 安裝必要的庫 yum install mesa-libOSMesa-devel gnu-free-sans-fonts wqy-zenhei-fonts 2、安裝 chromedriver(末尾附chrome和chromedriver的對應版本) chrome官網 wget https://chromedriver.storage.googleapis.com/2.38/chromedriver_linux64.zip 淘寶源(推薦) wget http://npm.taobao.org/mirrors/chromedriver/2.41/chromedriver_linux64.zip 將下載的檔案解壓,放在如下位置 unzip chromedriver_linux64.zip mv chromedriver /usr/bin/ 給予執行許可權 chmod +x /usr/bin/chromedriver 以上抄襲度娘不知名部落格。 第二步
準備工作做好後,準備linux下面的netcore環境: 參考aspnetcore文件,執行相應的命令, sudo dnf install dotnet-sdk-3.1 sudo dnf install aspnetcore-runtime-3.1 sudo dnf install dotnet-runtime-3.1 重要因為是控制檯程式。 https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-centos 第三步準備程式碼
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Remote;
using System; using System.IO; namespace TestCentOS { class Program { static void Main(string[] args) { ChromeOptions chromeOptions = new ChromeOptions(); chromeOptions.AddArguments("--no-sandbox"); chromeOptions.AddArguments("--disable-dev-shm-usage
"); chromeOptions.AddArguments("--headless"); RemoteWebDriver driver = new ChromeDriver(chromeOptions); driver.Url = "https://www.baidu.com"; Console.WriteLine(driver.PageSource); Console.WriteLine("Hello World!"); Console.Read(); } } }

目錄結構,上傳到centos:

第四步執行程式,在第一步安裝完的chromedriver在 centos 根目錄 usr/bin下面,本來拷貝到程式中,發現刪掉後一楊可以執行,還是挺順利的。