SeleniumBasic ImageClass 画像の操作

リファレンス

概要

画像ハンドル用クラス

オブジェクト設定

・変数宣言

Dim img As selenium.Image

文法

Set img = driver.TakeScreenshot()
img.[メソッド]

メソッド・プロパティ

メソッド

スクロールできます
Name解説ShortExample
CompareTo引数の画像と比較するDebug.Print img.CompareTo(DeskTopDir & "\スクリーンショット画像2.png").DiffCount
Copy画像をクリップボードにコピーimg.Copy 
Disposeイメージを空にして、すべてのリソースを解放img.Dispose
GetPictureネイティブの StdPicture オブジェクトを返す
Load画像ファイルを読み込むSet buf(0) = img(0).Load(DeskTopDir & "\スクリーンショット画像1.png")
Resize現在の画像のサイズを変更img.Resize 0.2, 0.2
SaveAs画像をファイルに保存(png, bmp, gif, jpg.)img.SaveAs DeskTopDir & "\スクリーンショット画像.png"
ToExcel画像を Excel シートに挿入img.ToExcel

※Short Exampleは、動作確認ができたコードを記載しています。

プロパティ

スクロールできます
Name解説ShortExample
CRC画像の CRC32 ハッシュ値を 16 進数で返すDebug.Print "ハッシュ値:" & img.CRC
DiffCount比較の結果、一致しなかったピクセルの数を取得Debug.Print img.CompareTo(DeskTopDir & "\スクリーンショット画像2.png").DiffCount
Height画像の 高さを取得Debug.Print "高さ:" & img.Height
Width画像の幅を取得Debug.Print "幅:" & img.Width

※Short Exampleは、動作確認ができたコードを記載しています。

Example

Use_CompareTo

Private Sub Use_CompareTo()
    Dim WSH: Set WSH = CreateObject("WScript.Shell")
    Dim DeskTopDir As String: DeskTopDir = WSH.SpecialFolders("Desktop")
    Dim driver As New ChromeDriver
    driver.Get "https://google.co.jp"
    Dim img As selenium.Image: Set img = driver.TakeScreenshot()
    Debug.Print img.CompareTo(DeskTopDir & "\スクリーンショット画像2.png").DiffCount
    driver.Quit
End Sub

Use_SaveAs

Private Sub Use_SaveAs()
    Dim WSH: Set WSH = CreateObject("WScript.Shell")
    Dim DeskTopDir As String: DeskTopDir = WSH.SpecialFolders("Desktop")
    Dim driver As New ChromeDriver
    driver.Get "https://ja.wikipedia.org/wiki/メインページ"
    Dim img As selenium.Image
    Set img = driver.TakeScreenshot()
    img.SaveAs DeskTopDir & "\スクリーンショット画像.png"
    driver.Quit
End Sub

Use_Copy

Private Sub Use_Copy()
    Dim driver As New ChromeDriver
    driver.Get "https://ja.wikipedia.org/wiki/メインページ"
    Dim img As selenium.Image
    Set img = driver.TakeScreenshot()
    img.Copy  'イメージをクリップボードにコピー,自動的にDisposeされる
    Stop
    driver.Quit
End Sub

Use_Dispose

Private Sub Use_Dispose()
    Dim driver As New ChromeDriver
    driver.Get "https://ja.wikipedia.org/wiki/メインページ"
    Dim img As selenium.Image
    Set img = driver.TakeScreenshot()
    img.Dispose
    'img.Copy  'イメージをクリップボードにコピー
    driver.Quit
End Sub

Use_Load_Compare

Private Sub Use_Load_Compare()
    Dim WSH: Set WSH = CreateObject("WScript.Shell")
    Dim DeskTopDir As String: DeskTopDir = WSH.SpecialFolders("Desktop")
    Dim driver As New ChromeDriver
    driver.Get "https://google.co.jp"
    Dim img(1) As selenium.Image
    Set img(0) = driver.TakeScreenshot()
    Set img(1) = driver.TakeScreenshot()
    Dim buf(1) As selenium.Image
    Set buf(0) = img(0).Load(DeskTopDir & "\スクリーンショット画像1.png")
    Set buf(1) = img(1).Load(DeskTopDir & "\スクリーンショット画像2.png")
    Debug.Print buf(0).CompareTo(buf(1)).DiffCount
    driver.Quit
End Sub

Use_Resize

Private Sub Use_Resize()
    Dim driver As New ChromeDriver
    driver.Get "https://ja.wikipedia.org/wiki/メインページ"
    Dim img As selenium.Image
    Set img = driver.TakeScreenshot()
    img.Resize 0.2, 0.2
    Debug.Print "幅:" & img.Width
    Debug.Print "高さ:" & img.Height
    Debug.Print "ハッシュ値:" & img.CRC
    img.ToExcel
    driver.Quit
End Sub
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

VBAを中心とした自動化、効率化の手法を紹介しています。現在は、SeleniumBasicのexamplesを紹介しています。その内、SeleniumBasic以外の手法も掲載したいと思っております。