前回までに紹介した機能で、PowerShell Seleniumを経由したMicrosoft Edgeの操作はほぼできるようになったはずだ。これだけで、人が行っていた操作のほとんどをPowerShellから実行できるようになっている。今回は、機能としては最後のひと押しとなる「JavaScriptの実行」について取り上げる。

→連載「PowerShell Core入門 - 基本コマンドの使い方」の過去回はこちらを参照。

JavaScriptが実行できれば実質的に何でもできる

前回までに紹介した機能は、PowerShell Seleniumを使うことで、PowerShellのコマンドレットからMicrosoft Edgeの制御を行えるというものだった。これだけでもかなりのWebページの操作を自動化できる。

それでは提供されていない機能についてはどうか。その場合、PowerShell Seleniumを使って任意のJavaScriptコードを実行することができる。つまり、Webブラウザの開発者ツールを使って自由にページを操作できるのと同じことが、PowerShellからも実行できるわけだ。

サンプルページをJavaScriptで書き換えていく

今回は「https://getbootstrap.com/docs/4.0/examples/sign-in/」をサンプルページとして利用する。このページを表示した後、JavaScriptを実行してサンプルページの内容を書き換えるといった操作を行う。

  • https://getbootstrap.com/docs/4.0/examples/sign-in/

    https://getbootstrap.com/docs/4.0/examples/sign-in/

サンプルページを開発者ツールで調べておく。

  • 開発者ツールでWebページを調査

    開発者ツールでWebページを調査

Webページのコンテンツはbody要素がトップに位置していることが多い。body要素のXPathは「/html/body」だ。今回はこのbody要素を編集することにする。body要素は通常、Webページごとに1つしかないので、body要素を名前で取得するJavaScriptのコードを使っても十分なので、今回はその方法で実装する。

PowerShell SeleniumからJavaScriptを実行

早速PowerShell SeleniumからJavaScriptを実行してみよう。まず、Microsoft Edge WebDriverとMicrosoft Edgeの起動を行う。

PS C:\Users\daichi> webdriver_edge_start.ps1
Microsoft Edge WebDriverを起動します。
Microsoft Edge WebDriverの起動処理完了。
PS C:\Users\daichi> S
  • Microsoft Edge WebDriver制御下のMicrosoft Edge

    Microsoft Edge WebDriver制御下のMicrosoft Edge

webdriver_edge_start.ps1は付録として稿末に記すので、そちらを参照していただければと思う。

続いて、Set-SeUrlコマンドレットでサンプルページをオープンする。

この記事は
Members+会員の方のみ御覧いただけます

ログイン/無料会員登録

会員サービスの詳細はこちら