之前讲过一些Selenium 基础操作, 实际测试过程中需要用到截屏功能, 逻辑如下:
- 首先找到需要截图的元素
- 调用GetScreenshot() 方法转换为Base64编码格式的字符串, 赋值给静态类[OpenQA.Selenium.Screenshot]
- 另存为指定路径中的指定文件名
ipmo D:\tools\Selenium\WebDriver.Support.dll
ipmo D:\tools\Selenium\WebDriver.dll
$url = 'https://blog.51cto.com/'
$EdgeDriver = New-Object OpenQA.Selenium.Edge.EdgeDriver
$nav = $EdgeDriver.Navigate()
$nav.GoToUrl($url)
$maininfo = $EdgeDriver.FindElement([OpenQA.Selenium.By]::ClassName('main_in'))
[OpenQA.Selenium.Screenshot]$screenshot = $maininfo.GetScreenshot() ### Core Code ###
$screenshot_path = "D:\Tools\testscreenshot.png"
$screenshot.SaveAsFile($screenshot_path)