selenium webdriver 어떻게selenium-webdriver 캡처
다음 코드는 웹 드라이브를 사용하여 캡처하는 방법을 보여 줍니다.
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class ShotScreen {
/**
* @author gongjf
* @throws IOException
* @throws InterruptedException
*/
public static void main(String[] args) throws IOException, InterruptedException {
System.setProperty("webdriver.firefox.bin","D:\\Program Files\\Mozilla Firefox\\firefox.exe");
WebDriver dr = new FirefoxDriver();
dr.get("http://www.51.com");
//
Thread.sleep(5000);
// D
File screenShotFile = ((TakesScreenshot)dr).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(screenShotFile, new File("D:/test.png"));}}
Output Type 인터페이스와Takes Screenshot 인터페이스를 보고 이 두 인터페이스는 같은 개발에서 쓴 것이 아니거나 주석이 업데이트되지 않은 것 같다고 토로했다.OutputType의 설명은 다음과 같습니다.
/**
* Defines the output type for a screenshot. See org.openqa.selenium.Screenshot for usage and
* examples.
...
그리고 거기서 한참 동안 org를 찾았어요.openqa.selenium.Screenshot 인터페이스, 헐, 나중에 생각하면 org.openqa.selenium.TakesScreenshot.
TakesScreenshot에는 다음과 같은 주석이 있습니다.
/**
* Capture the screenshot and store it in the specified location.
*
* For WebDriver extending TakesScreenshot, this makes a best effort
* depending on the browser to return the following in order of preference:
*
* - Entire page
* - Current window
* - Visible portion of the current frame
* - The screenshot of the entire display containing the browser
*
*
* For WebElement extending TakesScreenshot, this makes a best effort
* depending on the browser to return the following in order of preference:
* - The entire content of the HTML element
* - The visisble portion of the HTML element
*
* @param Return type for getScreenshotAs.
* @param target target type, @see OutputType
* @return Object in which is stored information about the screenshot.
* @throws WebDriverException on failure.
*/
Webelement을 캡처해 봤는데 WebElement 인터페이스가 이런 종류를 실현하지 못했다는 것을 발견했다.한참을 일했지만 페이지의 전체 그림을 캡처할 줄만 알았다.현재 프레임도 캡처한 페이지 전체 그림을 캡처합니다.설마 이 기능이 완벽하지 않은 건 아니겠지, 그래, 이렇게 자기 위안을 말해 봐.
selenium-webdriver는 인터페이스 프로그래밍을 하는데 필요한 기능을 찾기가 정말 어렵다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.