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