TakeScreenshotでOjbect指定のスクショを取得するときにWindowsの拡大縮小を100%以外にするとキャプチャ座標がずれます

1,666 views
Skip to first unread message

daisuke

unread,
Jun 4, 2020, 9:44:59 PM6/4/20
to 日本Seleniumユーザーコミュニティ
SeleniumBasic+chromeDriverにおいて、TakeScreenshotでOjbect指定のスクショを取得するときにWindowsの拡大縮小を100%以外にするとキャプチャ座標がずれてしまいます。
これを回避する方法は何かしらありましたらご教授いただけますと助かります。

chromeの起動オプションでWindowsの拡大縮小を無効化するものがないかも探してみましたが見つけられませんでした。

■環境
・SeleniumBasic v2.0.9.0
・Chrome 83.0.4103.61
・chromeDriver 83.0.4103.39
・Windows10 64bit
・VB(.Net Framework 4.5.2)

■Windowsの設定(添付資料参照)
Windowsの設定
→システム
→ディスプレイ
→拡大縮小とレイアウト
→テキスト、アプリ、その他の項目のサイズを変更する
→100%以外

■プログラム例
Dim obj_driver As New Selenium.ChromeDriver
obj_driver .Start("chrome")
obj_driver .Get(”あるサイト”)
obj_driver.TakeScreenshot().SaveAs("c:\all.jpg") '(A)
obj_driver.FindElementByClass("オブジェクト指定").TakeScreenshot().SaveAs("c:\object.jpg") '(B)

■パターン
①拡大縮小 100% → OK
プログラム(A)(B)ともに正常な座標で画像を保存

②拡大縮小 150% → オブジェクト指定のみNG
プログラム(A)は、正常な座標で画像を保存
プログラム(B)は、座標がずれて指定オブジェクトと異なる画像を保存
キャプチャ.JPG
Reply all
Reply to author
Forward
0 new messages