C#版のSelenium WebDriverをPowerShellから使えるようにしたPowerShellモジュール「selenium-powershell」を利用して、Web画面の操作を自動化する方法を紹介します。操作対象画面は、当ブログの「Webページ項目要素サンプル」ページです。

■概要
Chrome WebDriverを使って、Webページの全体をスクリーンショットを取得する例です。
ブラウザを表示すると、スクリーンサイズでしかスクリーンショットを撮ることができないので、ヘッドレス(非表示)で開いて、ウィンドウサイズをページサイズに設定してからスクリーンショットを取得します。
■スクリプト例

■概要
Chrome WebDriverを使って、Webページの全体をスクリーンショットを取得する例です。
ブラウザを表示すると、スクリーンサイズでしかスクリーンショットを撮ることができないので、ヘッドレス(非表示)で開いて、ウィンドウサイズをページサイズに設定してからスクリーンショットを取得します。
■スクリプト例
#「Webページ項目要素サンプル」ページを非表示で開く。 $d=Start-SeChrome -Arguments "--headless" -StartURL https://masuo.doorblog.jp/archives/51849723.html #[商品コード]を入力する。 $e=$d.FindElementById("prdcode") $e.SendKeys("A12345") #Webサイトのページサイズを取得する。 $w = $d.ExecuteScript("return document.body.scrollWidth;") $h = $d.executescript("return document.body.scrollHeight;") #ウィンドウサイズをページサイズに設定する。 $d.Manage().Window.Size = [System.Drawing.Size]::new($w, $h) #スクリーンショット(Base64エンコードした文字列)を取得する。 $s = $d.GetScreenshot() #Base64デコードして画像にして保存する。 $decode = [Convert]::FromBase64String($s) [System.IO.File]::WriteAllBytes("C:\work\スクリーンショット\100.png", $decode) #WebDriverを停止・廃棄する。 $d.Dispose()
コメント
このブログにコメントするにはログインが必要です。
さんログアウト
この記事には許可ユーザしかコメントができません。