- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
Selenium 現在也支援 .NET Core 平台了
已經支援一段時間的樣子了 ...
以下文章將紀錄使用 Ubuntu 搭配 .NET Core 執行 Selenium 進行瀏覽器簡單的自動化操作
本文章直接在 Ubuntu 桌面進行操作,擷取圖片皆為 Ubuntu 畫面
大部分內容為參考指定文章,請參閱下方「參考資料」
文章環境
- Linux
- Ubuntu 16.04 LTS Desktop
- .NET Core
- 2.1.101
- Selenium WebDriver
- 3.11.0
- ChromeDriver
- 2.37
在 Ubuntu 進行開發
先從 Selenium 網站中取得 Selenium 的 ChromeDriver 應用程式
下載 Selenium 的 ChromeDriver 應用程式
https://sites.google.com/a/chromium.org/chromedriver/downloads
將下載後的檔案放到應用程式資料夾,本文章使用 .NET Core Console 應用程式
將 Selenium.WebDriver 套件加入參考
dotnet add package Selenium.WebDriver
出現 Permission denied 請確認執行此指令碼的權限
還要把 ChromeDriver 檔案 Include 到專案,在編譯的時候才會將檔案複製到輸出目錄中
因為不是使用 Visual Studio 所以自行編輯 *.csproj 的 XML 檔案
準備完成後來撰寫一個簡單的 Selenium 自動化指令碼
這個時候編譯沒問題但是在執行的時候會出現錯誤訊息
排除此問題的方法為將組件路徑設定到 Driver 的建構函式中
詳細問題原因請翻閱參考資料之 Selenium WebDriver + .NET Core 2.0- What Everyone Ought to Know 文章內容
將程式碼修改如下
重新編譯後並執行
Chrome 就會自動開啟並且顯示「自動化程式碼管理中」訊息
在瀏覽到 http://www.gogole.com.tw 網頁後自動關閉
在 Ubuntu 使用 Selenium 操作 Chrome 瀏覽器的應用程式就這樣完成了
結論
在 .NET Core 支援 Selenium 後,就不需要一定要 Windows 作業系統才可以執行了
Windows 作業系統授權 ...
補充
如果在 Ubuntu 安裝 Chrome 瀏覽器的時候會出現問題可以參考這篇文章
https://www.ubuntu-tw.org/modules/newbb/viewtopic.php?post_id=351720
留言
張貼留言