誰能告訴我如何使用Java Selenium捕獲網頁?舉一個例子....如何使用Java Selenium捕獲遠程網站
0
A
回答
0
我認爲這是你在找什麼。但如果不是,請嘗試更具體。
captureEntirePageScreenshot( 文件名,kwargs) 保存當前窗口畫布的全部內容以PNG文件。 對比這個與 captureScreenshot命令,該命令 捕獲OS 視口的內容(即,無論是目前正在 顯示在監視器上),並且 僅在所述RC實現。 目前,這僅適用於在Chrome模式下運行的Firefox 以及使用實驗性 「Snapsie」實用程序的非HTA的IE 。 Firefox 的實現主要是從 中借用的Screengrab! Firefox擴展。 有關詳細信息,請參閱http://www.screengrab.org 和http://snapsie.sourceforge.net/ 。
Arguments: * filename - the path to the file to persist the screenshot as. No
文件擴展名將附加 默認值。目錄不會被 創建,如果它們不存在,則會拋出 異常,可能由 本機代碼引發。 * kwargs - 修改捕捉截圖 的方式的kwargs字符串。例如: 「background =#CCFFDD」。當前有效的 選項:
background the background CSS for the HTML document. This may be useful
用於捕獲的 低於理想的佈局的屏幕截圖,例如 組,其中絕對定位使 計算畫布尺寸與 失敗和黑色背景被暴露 (可能模糊黑色文字)。
2
請看這裏:Capturing screenshots from remote Selenium RC。
本質:
「爲了解決這個問題,你可以使用captureScreenshotToString和captureEntirePageScreenshotToString命令,它會返回截圖,然後你就可以解碼並保存到磁盤上的TestRunner的機器上的Base64編碼的字符串。」
0
public static void getSnapShot(WebDriver driver, String event) {
{
try {
File scrFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
BufferedImage originalImage = ImageIO.read(scrFile);
//int type = originalImage.getType() == 0 ? BufferedImage.TYPE_INT_ARGB : originalImage.getType();
BufferedImage resizedImage = CommonUtilities.resizeImage(originalImage, IMG_HEIGHT, IMG_WIDTH);
ImageIO.write(resizedImage, "jpg", new File(path + "/"+ testCaseId + "/img/" + index + ".jpg"));
Image jpeg = Image.getInstance(path + "/" + testCaseId + "/img/"+ index + ".jpg");
jpeg.setAlignment(Image.MIDDLE);
++index;
} catch (Exception e) {
e.printStackTrace();
}
}
}
0
我喜歡使用PhantomJS驅動程序進行屏幕截圖。
public class Test {
public static void main(String[] args) {
//PhantomJS headless driver
File file = new File("D:\\Webdriver\\phantomjs-2.1.1-windows\\bin\\phantomjs.exe");
System.setProperty("phantomjs.binary.path", file.getAbsolutePath());
WebDriver driver = new PhantomJSDriver();
//Set Size here
driver.manage().window().setSize(new Dimension(1600,900));
//To wait until the element get visible or invisible.
WebDriverWait wait = new WebDriverWait(driver, 25);
//To access url.
driver.get("https://www.google.co.in");
//For wait until the element get visible.
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("lst-ib")));
File shot=((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(shot, new File("D:\\Webdriver\\Capture.jpg"));
}
}
0
它需要chrome網頁的全屏截圖。
System.setProperty("webdriver.chrome.driver", "F:\\chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("--start-maximized");
WebDriver driver = new ChromeDriver(options);
String baseUrl = "https://www.google.co.in";
driver.get(baseUrl);
String fullscreen =Keys.chord(Keys.F11);
driver.findElement(By.cssSelector("body")).sendKeys(fullscreen);
TakesScreenshot scrShot =((TakesScreenshot)driver);
File SrcFile=scrShot.getScreenshotAs(OutputType.FILE);
File DestFile=new File("F://test.png");
FileUtils.copyFile(SrcFile, DestFile);
driver.close();
相關問題
- 1. 如何使用python和selenium webdriver捕獲https網站數據
- 2. 如何使用Selenium Java登錄網站?
- 3. 使用Selenium/PhantomJS網絡捕獲
- 4. 如何使用Selenium獲取網站的每個網址?
- 5. 如何使用Selenium和Selenium IDE以及使用SAML的網站
- 6. 網::遠程登錄捕獲錯誤
- 7. 如何遠程捕獲Web瀏覽器網站呈現的屏幕截圖?
- 8. 我如何使用Selenium獲取網站的圖標
- 9. 如何使用Android應用插件捕獲網站點擊
- 10. html2canvas:遠程網站
- 11. 在網站使用遠程檢查
- 12. 如何獲得使用Selenium的Java API
- 13. 如何捕獲遠程系統網絡流量?
- 14. 如何從遠程網站訪問cordova.js
- 15. 如何從遠程網站加載cordova.js?
- 16. 如何遠程調試VS網站
- 17. 如何遠程檢查網站?
- 18. 如何使用Selenium和java獲取完整網頁的截圖?
- 19. Selenium遠程WebDriver
- 20. MAMP遠程訪問網站
- 21. C#如何使用附件從一個遠程網站
- 22. 如何檢測遠程網站是否使用閃存?
- 23. 如何使用jQuery檢查遠程網站的登錄信息
- 24. 如何使用javascript從遠程網站上傳圖片?
- 25. 如何使用JSP讀取遠程網站上的XML文件?
- 26. 如何通過Selenium RC遠程控制Google Chrome中的https網站
- 27. PDO:在遠程網站
- 28. 如何使用Selenium WebDriver檢查網站是否使用Ajax?
- 29. 使用Selenium捕獲REST調用
- 30. 如何從遠程站點獲取window.varName
什麼意思是「捕獲和網頁」,你只能捕獲HTTP請求等,而不是網頁。 – Ralph 2011-01-26 12:09:12