7
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Powershell+Selenium Chromeの環境構築について

Last updated at Posted at 2021-11-11

#初めに
弊社では、Powershell+Internet ExplorerのWEBスクレイピングによる自動化を行ってきましたが、マイクロソフト社から2022年6月15日以降Internet Explorerのサポート打ち切りが発表されました。
代替手段として、powershell + selenium chromeで環境構築を行った際の覚書記事になります。(2021/11/11現在)

powershell + selenium edgeでの環境構築も検討しましたが、現webdriverのバージョンではremote-debugging-portを使ってのブラウザ再操作ができなかったため(EdgeのChromeドライババージョンのエラーがでる)最終的にChromeでの対応となりました。

#環境
OS :WINDOWS10 21H1

powershell : バージョン: 5.1.19041.1320(OS標準)

chrome : バージョン: 95.0.4638.69(記事作成時の最新) 
※CHROMEブラウザの「ヘルプ」→「Google Chromeについて」で確認できます

#POWERSHELLでのselenium Chrome環境構築について(概要)
①SeleniumのWebDriverをダウンロードする
②ダウンロードされたファイル(nupkgファイル)から、DLLファイルを獲得する。
③Chrome Driverをダウンロードする
④POWERSHELLスクリプトにDLしたファイルを組み込む。

#POWERSHELLでのselenium Chrome環境構築について(詳細)
##①SeleniumのWebDriverをダウンロードする

###selenium.devにアクセスし、C#のdriverをダウンロードする
https://www.selenium.dev/downloads/

画面を少しスクロールしたところにある、Selenium Clients and WebDriver Language BindingsのC#版が対象。クリックするとファイルがダウンロードされます。そのままでは使えないので②の工程を実施してください。

2021-11-11_15h46_52.png

##②ダウンロードされたファイル(nupkgファイル)から、DLLファイルを獲得する。

###該当ファイルを右クリック→プロパティを開き、セキュリティの許可するをチェック
セキュリティ設定がOFFのままだと、処理に影響があるみたいです。

2021-11-11_15h58_27.png

###該当ファイルの拡張子をzipに変更の上、解凍しDLLファイルを獲得する。

ファイルをselenium.webdriver.4.0.1.nupkgからselenium.webdriver.4.0.1.zipにリネームしてください。
リネームしたZIPファイルを解凍してください。
powershellのVersionが5.*.の場合は、net48フォルダの中にあるDLLファイルが該当のファイルになります。
※powershellのVersionが6.
.*の場合はnetstandardのDLLを利用するようです。
2021-11-11_16h04_08.png

➂Chrome Driverをダウンロードする

ダウンロードサイトから、現在利用中のCHROMEのバージョンに応じたドライバーをダウンロードする。
2021-11-11_16h25_08.png

2021-11-11_16h52_29.png

##④POWERSHELLスクリプトにDLしたファイルを組み込む。

参考に、”開きたいURL”に格納されたURLのHTMLソースをクリップボードに格納するスクリプトです。

test.ps1

$webDriverDllPath = "seleniumドライバの格納場所"
$chromeDriverDirPath = "CHROMEドライバの格納場所"

#dll読み込み
Add-Type -Path $webDriverDllPath

#ドライバにオプションを読み込み用
$Options = New-Object OpenQA.Selenium.chrome.ChromeOptions

#DebuggerAddressを指定したCHROMEを操作する場合
#$Options.DebuggerAddress = "127.0.0.1:9222"
#

#chrome起動
$chromeDriver = New-Object OpenQA.Selenium.Chrome.ChromeDriver($chromeDriverDirPath,$Options)

#日本語化け対応 文字コードをSHIFT-JISに
#chcp 932

#URL開く
$chromeDriver.Url = "開きたいURL"

#表示中のページソースを$htmlに格納
$html=$chromeDriver.PageSource

#htmlの内容をクリップボードにコピー
$html|CLIP

exit

#最後に
旧処理から、ほとんど関数関係の互換がなく、ほとんど書き換えになってしまいましたが
動作はかなり安定するようになりました。
Seleniumの機能は便利なものが多いようなので、活用していければと思います。

7
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?