PowerShell Core入門 - 基本コマンドの使い方 第226回 PowerShellからMicrosoft Edgeを動かす 終了の手順

PowerShell Core入門 - 基本コマンドの使い方 第226回 PowerShellからMicrosoft Edgeを動かす 終了の手順

  • マイナビニュース
  • 更新日:2022/11/25
No image

Microsoft EdgeをWebDriver経由で操作できるのはとても便利なのだが、立て続けにドライバを実行すると、もういらないバイナリが背後で動き続けることがある。リソースの無駄遣いなので、こうした問題の種は最初に処理しておこう。

→連載「意外と知らないMicrosoft Edgeの便利な使い方」の過去回はこちらを参照。

【業務効率化に役立つオススメ連載】
【連載】ゼロからはじめるExcel VBA+Webサービス
【連載】Microsoft Teamsの基本と活用

○WebDriverを使った起動方法と停止方法

前回までに説明したように、PowerShell SeleniumモジュールからWebDriver経由でMicrosoft Edgeを操作する場合、次のように「Start-SeDriver」コマンドレットを起動してドライバ経由でMicrosoft Edgeを起動する。

PS C:\Users\daichi> Start-SeDriver -Browser Edge -Size '1200,800'

SeFriendlyName SeBrowser SeTitle SeUrl
-------------- --------- ------- -----
804e775a3b606ede2f666c67f6d1227d Edge * data:,

PS C:\Uses\daichi>

この処理で、次のようにWebDriver経由で操作されているMicrosoft Edgeが起動してくる。

このようにして起動したMicrosoft Edgeは、「Stop-SeDriver」コマンドレットを実行することで終了することができる。

PS C:\Users\daichi> Stop-SeDriver
PS C:\Users\daichi>

Stop-SeDriverコマンドレットを実行すると、Microsoft Edgeと、それに付随して起動したWebDriverのドライババイナリも終了される。これが適切に終了処理を行った場合の動きだ。
○停止中

WebDriver経由でMicrosoft Edgeを起動すると、Microsoft EdgeのみならずWebDriverドライバも起動してくる。このドライバは「msedgedriver.exe」というファイル名になっている。

試しに、Stop-SeDriverコマンドレットを実行して正常に処理が完了した状態で次のようにコマンドレットを実行しても、「msedgedriver.exe」の実行を確認することはできない。

PS C:\Users\daichi> Get-Process -Name msedgedriver
Get-Process: Cannot find a process with the name "msedgedriver". Verify the process name and call the cmdlet again.
PS C:\Users\daichi>

この状態だとStop-SeDriverコマンドレットを実行しても処理は失敗する。すでに停止しているからだ。

PS C:\Users\daichi> Stop-SeDriver
MethodInvocationException: Exception calling "Close" with "0" argument(s): "disconnected: unable to connect to renderer (failed to check if
window was closed: disconnected: unable to connect to renderer) (Session info: MicrosoftEdge=107.0.1418.35)"

PS C:\Users\daichi>

常にこの状態に戻ればよいのだが、こうならないケースがある。

.

後藤大地

この記事をお届けした
グノシーの最新ニュース情報を、

でも最新ニュース情報をお届けしています。
  • このエントリーをはてなブックマークに追加