更新时间:2023-09-10 13:27:46
根据您的代码试用getScreenshotAs()
方法,将获取整个页面的屏幕截图.
As per your code trials getScreenshotAs()
method will take the screenshot of the entire page.
要捕获特定网页中 WebElement 的屏幕截图,可以使用 AShot()
方法导入 ashot-1.4.4.jar >,同时使用 Selenium Java Client v3.14.0 , ChromeDriver v2.41 , Chrome v 68.0 .
To capture the screenshot of an WebElement within a particular webpage you can use the AShot()
method importing ashot-1.4.4.jar while working with Selenium Java Client v3.14.0, ChromeDriver v2.41, Chrome v 68.0.
注意: ashot-1.4.4.jar 中的
AShot()
方法仅适用于因此,未启用 jQuery 的网站http://www.google.com/
ashot-1.4.4.jar 中的AShot()
方法不会能够拍摄所需的屏幕截图.So as the website
http://www.google.com/
is not jQuery enabledAShot()
method from ashot-1.4.4.jar won't be able to take the required screenshot.作为示例,我们将从网站
https://jquery.com/
拍摄快照.As an example we will take a snapshot from the website
https://jquery.com/
.
代码块:
Code Block:
package aShot; import java.io.File; import javax.imageio.ImageIO; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; import ru.yandex.qatools.ashot.AShot; import ru.yandex.qatools.ashot.Screenshot; public class ashot_google_homepage_logo { public static void main(String[] args) throws Exception { System.setProperty("god.bless.you", "C:\\Utility\\BrowserDrivers\\chromedriver.exe"); ChromeOptions options = new ChromeOptions(); options.addArguments("start-maximized"); options.addArguments("disable-infobars"); options.addArguments("--disable-extensions"); WebDriver driver = new ChromeDriver(options); driver.get("https://jquery.com/"); WebElement myWebElement = new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//h3[contains(.,'Lightweight Footprint')]"))); Screenshot myScreenshot = new AShot().takeScreenshot(driver, myWebElement); ImageIO.write(myScreenshot.getImage(),"PNG",new File("./Screenshots/elementScreenshot.png")); driver.quit(); } }
屏幕截图:
Screenshot: