2016-11-16 64 views
2

I'm考慮使用Windows 10的硒和Firefox geckodriver截圖與硒webdriver的截圖有錯誤的分辨率

delay = 5 
browser = webdriver.Firefox(executable_path="C:\\Users\\A0048436\\Downloads\\geckodriver.exe") 
browser.set_window_size(1920, 1080) 
browser.get('file://' + html_file) 
time.sleep(delay) 
browser.save_screenshot(html_file + '.png') 
browser.quit() 

,所以我預計,圖像分辨率將是窗口的大小,但it'不是 - 它更低。我如何設置屏幕截圖分辨率?

回答

3

方法set_window_size設置包含邊框,菜單欄和選項卡的窗口大小。

要設置視口的大小,首先需要計算外部窗口和內部窗口之間的差異。然後添加此差異到所需的分辨率:

dx, dy = browser.execute_script("var w=window; return [w.outerWidth - w.innerWidth, w.outerHeight - w.innerHeight];") 
browser.set_window_size(1920 + dx, 1080 + dy) 
+0

它幾乎是正確的 - 有一個微小的尺寸差異,但它足夠好。謝謝! – Ivan