在设定浏览器的带大小后(800,600),使用截图方法,获得的图片居然比浏览器本身还大。
请教下,到底是哪里出了问题?该如何处理
from io import BytesIOfrom PIL import Imagefrom selenium import webdriverfrom selenium.webdriver.support.ui import WebDriverWaitbrowser = webdriver.Chrome()browser.set_window_size(800, 600)wait = WebDriverWait(browser, 20)browser.get('https://www.baidu.com/')screenshot = browser.get_screenshot_as_png()screenshot = Image.open(BytesIO(screenshot))browser.get_screenshot_as_file('test.png')print("浏览器size:", browser.get_window_size())print("全图size:", screenshot.size)browser.close()
浏览器size: {'width': 800, 'height': 600}
全图size: (1179, 699)
更新:
测试了下,仅在使用其headless模式下,对全图的截图才为正确。
===========================================================
Chrome 67.0.3396.99
selenium 3.13
python 3.6/3.7
win10
上述环境下始终截图过大