如何使用selenium在小视口上拍摄高分辨率屏幕快照?

2024-09-30 22:22:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我在截屏网站的方式,它看起来在某些小视口,即640x580,但我希望图像的分辨率要高得多,如可能3倍的大小。我不能就这样设置窗口大小(19201080),因为网站看起来会不一样

我尝试过这样的移动仿真。在这一点上,我得到的图像大小是视口的3倍,而不会丢失质量

mobile_emulation = {
    "deviceMetrics": {"width": 640, "height": 580, "pixelRatio": 3},
    "userAgent": "Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19",
}

chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_experimental_option("mobileEmulation", mobile_emulation)


driver = webdriver.Chrome(options=chrome_options)

但有时我可能需要一个800x580,1000x580,或相同的640x580的网站外观,在这种情况下,我需要重新启动/启动chrome与新的选项对吗(或者有一种方法可以在移动仿真上切换/设置视口的大小(w/o restart),这非常耗时,而且我需要尽可能高的吞吐量,我需要更快的图像

我试过重新调整图片的大小,但质量很差,只是被拉伸了一点帮助都没有。如果有人能帮上忙,会很好的,现在烦我好几天了


Tags: 图像add网站方式质量分辨率chromemobile