2016-11-16 15 views
2

セレン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() 

でWindows 10上のセレンとFirefoxのgeckodriverを使用してスクリーンショットを撮る - 私はので、私は画像の解像度は、ウィンドウサイズになると予想さ

間違った解像度を持っていますが、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

関連する問題