Selenium 応用テクニック
スクリーンショットの取得
現在ブラウザで表示しているページや、指定する要素のスクリーンショットを取得する方法です。
Private Sub btnSS_Click(sender As Object, e As EventArgs) Handles btnSS.Click
_browser.Navigate().GoToUrl("https://web.biz-prog.net/test/testpage.html")
'ブラウザで表示している画面のスクリーンショットを取得し、保存
Dim screenshot = CType(_browser, ITakesScreenshot).GetScreenshot()
screenshot.SaveAsFile("screenshot.png", ScreenshotImageFormat.Png) 'Bmp, Gif, Jpeg, Png, Tiffが指定可能
'指定した要素のスクリーンショットを取得し、保存
Dim element = _browser.FindElement(By.CssSelector("h1"))
Dim elementScreenshot = CType(element, ITakesScreenshot).GetScreenshot()
elementScreenshot.SaveAsFile("screenshot_of_element.png")
End Sub
private void btnSS_Click(object sender, EventArgs e)
{
_browser.Navigate().GoToUrl("https://web.biz-prog.net/test/testpage.html");
//ブラウザで表示している画面のスクリーンショットを取得し、保存
var screenshot = (_browser as ITakesScreenshot).GetScreenshot();
screenshot.SaveAsFile("screenshot.png", ScreenshotImageFormat.Png); //Bmp, Gif, Jpeg, Png, Tiffが指定可能
//指定した要素のスクリーンショットを取得し、保存
var element = _browser.FindElement(By.CssSelector("h1"));
var elementScreenshot = (element as ITakesScreenshot).GetScreenshot();
elementScreenshot.SaveAsFile("screenshot_of_element.png");
}
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from tkinter import messagebox
#Chromeブラウザを表示(環境変数のPATHにドライバーのパスを追加済とする)
driver = webdriver.Chrome()
#ページを表示
driver.get("https://web.biz-prog.net/")
#ブラウザで表示している画面のスクリーンショットを取得し、保存
driver.save_screenshot(r"c:\tool\screenshot.png")
#driver.get_screenshot_as_file("c:\tool\screenshot.png")でも可能
#指定した要素のスクリーンショットを取得し、保存
driver.find_element(By.CSS_SELECTOR, "h1").screenshot(r"c:\tool\screenshot_of_element.png")
Sub ScreenShot()
'Chromeブラウザを表示
Dim driver As New Selenium.chromeDriver
Call driver.Start
'ページを表示
driver.Get ("https://web.biz-prog.net/")
'ブラウザで表示している画面のスクリーンショットを取得し、保存
driver.TakeScreenshot.SaveAs "c:\tool\screenshot.png"
'指定した要素のスクリーンショットを取得し、保存
driver.FindElementByCss("h1").TakeScreenshot.SaveAs "c:\tool\screenshot_of_element.png"
End Sub
