是否可以使用Chrome開發工具遠程調試器獲取打開窗口的屏幕截圖?使用Chrome開發人員工具獲取Chrome的屏幕截圖?
例如,我連接到遠程調試端口和我有此 代碼,彈出一個空的窗口:
private void sendWindowPop(int width, int height) throws
IOException {
hsc.send("{\"method\": \"Runtime.evaluate\", \"id\": "
+ hsc.nextInt()
+ ", \"params\": {"
+ "\"expression\":
\"window.open('about:blank','name','toolbar=0,scrollbars=0,"
+ "location=0,status=0,menubar=0,resizable=0,width="
+ width
+ ",height="
+ height
+ "');\""
+ "}}");
(HSC是在我的http://localhost:9222到調試器連接)
於是,我打開了我的目標URL與此:
private void loadPage(String uriString) throws IOException {
hsc.send("{\"method\": \"Page.open\", \"id\": " +
hsc.nextInt() + ", \"params\": {\"url\": \"" + uriString + "\"}}");
hsc.waitFor(ChromeNotifications.PAGE_LOADEVENTFIRED, DEFAULT_TIMEOUT_MILLIS);
}
上面的代碼工作正常,並首先彈出一個窗口,然後加載 URL。理想情況下,我想要做的下一件事是抓取加載的網頁的屏幕截圖 。現在,這些瀏覽器窗口彈出一個 Xvfb虛擬桌面,我可以使用ImageMagick的導入工具抓取目標窗口的屏幕截圖,但只有在 的前景中才有。
這是一個問題,因爲此應用程序被設計爲在彈出到虛擬桌面的多個窗口並行運行,並且運行在 之間。任何與我的目標窗口重疊的 窗口只會給我一個黑色的 屏幕截圖,因爲Xfvb只呈現可見的內容。
我還查看了API參考chrome.tabs.captureVisibleTab。那裏沒有運氣,它沒有捕獲什麼是不可見的。
有沒有一種方法,使用遠程調試器來獲取 打開窗口的屏幕截圖?
(僅供參考用途,進口我ImageMagick的命令是這樣的)
DISPLAY=:0.0 import -window "Google - Chromium" screenshot.png
當我在上面()使用loadPage在我的鉻瀏覽器中打開URL http://www.google.com。只要彈出的「Google - Chromium」窗口暢通無阻並且重點突出,它就會很好。將另一個窗口放在它的一部分上,我得到一個沒有渲染的黑色區域。
謝謝!
鏈接是死:(你如何訪問/創建'Page'對象? – user2561747 2017-02-11 20:16:59
嗨,它看起來像一個分支,是不存在了 看看 https://github.com/TeamMentor/TM_4_0_Design/blob/94612a699aa03565bea6c045400bccd1cc68dd76/QA/API/QA-TM_4_0_Design.coffee#L56 和 https://github.com/TeamMentor/TM_4_0_Design /blob/94612a699aa03565bea6c045400bccd1cc68dd76/QA/tests/help-pages.coffee#L40 – 2017-02-13 11:31:26
對於只想在控制檯窗格中粘貼命令或按快捷鍵的用戶,有沒有什麼可用的東西? – Pysis 2017-07-17 18:55:18