Take a screenshot with Selenium WebDriver的問題和答案包含優秀的說明如何使用不同語言的Selenium網絡驅動程序進行屏幕截圖。使用Selenium網絡驅動程序進行網頁拍攝
我使用Python和C#驅動我的Web驅動程序,並使用一組不同的瀏覽器驅動程序。
例如,如果使用PhantomJS無頭瀏覽器和Python進行屏幕截圖,我會得到完整的頁面截圖。在C#截圖不是直接提供的驅動程序方法,所以需要一些代碼(參見上面提到的問題和建議的C#解決方案)。
但是,C#食譜雖然完美地拍攝屏幕截圖,但不是我在尋找的東西。
問題是,C#食譜需要一個屏幕截圖,我正在尋找的是如何進行整頁拍攝。預計屏幕截圖會出現在屏幕上,瀏覽器頁面通常比屏幕大。在很多情況下,拍攝的照片應該是頁面拍攝的。
這個問題與細微問題細節中引用的問題不同,導致結果不同。我想這個解決方案適用於不同語言的頁面拍攝。
我認爲唯一的解決方法是在代碼中設置瀏覽器窗口的大小。這樣,屏幕截圖直接與畫布大小相關。這裏有什麼可以幫助你的驅動程序實例:'_driver.Manage()。Window.Size = new System.Drawing.Size(1280,5000); '(或者一些任意大的高度!!) –
driver.Manage()。Window.Size設置一個物理窗口大小(當webdriver啓動時,我用它在一些瀏覽器上有相當小的窗口來改變窗口大小)。當頁面比頁面更長/更寬時,我會假定畫布也隨着內容獲取滾動條更大。將嘗試這個配方,並反映。 – ljgww