[英]Take screenshot element in selenium on ubuntu wrong position
當我將環境從Windows 10更改為Ubuntu時 ,某些功能無法正常工作。 像該功能一樣截圖
請幫我找到解決方案,並在Ubuntu上截圖。 當在Ubuntu上截圖時,我認為圖片位置錯誤。 謝謝
適用於Windows 10
public void captureElementScreenshot(WebElement element, String fileName) {
//Capture entire page screenshot as buffer.
//Used TakesScreenshot, OutputType Interface of selenium and File class of java to capture screenshot of entire page.
File screen = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
//Used selenium getSize() method to get height and width of element.
//Retrieve width of element.
int ImageWidth = element.getSize().getWidth();
//Retrieve height of element.
int ImageHeight = element.getSize().getHeight();
//Used selenium Point class to get x y coordinates of Image element.
//get location(x y coordinates) of the element.
Point point = element.getLocation();
int xcord = point.getX();
int ycord = point.getY();
//Reading full image screenshot.
BufferedImage img = null;
try {
img = ImageIO.read(screen);
BufferedImage dest = img.getSubimage(xcord, ycord, ImageWidth, ImageHeight);
ImageIO.write(dest, "png", screen);
//Used FileUtils class of apache.commons.io.
//save Image screenshot In D: drive.
FileUtils.copyFile(screen, new File(System.getProperty("user.dir") + "//src//test//screenshot//" + fileName + ".png"));
System.out.println("Success save file " + fileName);
} catch (IOException e) {
e.printStackTrace();
}
//cut Image using height, width and x y coordinates parameters.
}
而這個配置瀏覽器
System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir") + "//src//test//browser//chromedriver");
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
ChromeOptions options = new ChromeOptions();
options.addArguments("force-device-scale-factor=0.75");
options.addArguments("high-dpi-support=0.75");
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
driver = new ChromeDriver(capabilities);
driver.manage().window().maximize();
這大約是兩行代碼。 我已評論並且正在運行
options.addArguments("force-device-scale-factor=0.75");
options.addArguments("high-dpi-support=0.75");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.