Selenium 応用テクニック
スクリーンショットの取得
現在ブラウザで表示しているページや、指定する要素のスクリーンショットを取得する方法です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Private Sub btnSS_Click(sender As Object , e As EventArgs) Handles btnSS.Click 'ブラウザで表示している画面のスクリーンショットを取得し、保存 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 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | private void btnSS_Click( object sender, EventArgs e) { //ブラウザで表示している画面のスクリーンショットを取得し、保存 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" ); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 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.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" ) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Sub ScreenShot() 'Chromeブラウザを表示 Dim driver As New Selenium.chromeDriver Call driver.Start 'ページを表示 'ブラウザで表示している画面のスクリーンショットを取得し、保存 driver.TakeScreenshot.SaveAs "c:\tool\screenshot.png" '指定した要素のスクリーンショットを取得し、保存 driver.FindElementByCss( "h1" ).TakeScreenshot.SaveAs "c:\tool\screenshot_of_element.png" End Sub |