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		
					

参考