小编gok*_*oku的帖子

如何使用带有 Selenium 的 Headless Google Chrome 保存手机屏幕截图

from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--disable-gpu')
mobile_emulation = {
                "deviceMetrics": {"width": 360, "height": 640, "pixelRatio": 3.0},
                "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1"}
options.add_experimental_option("mobileEmulation", mobile_emulation)
driver = webdriver.Chrome(options=options)
driver.get('https://stackoverflow.com/')
driver.save_screenshot('test.png')
Run Code Online (Sandbox Code Playgroud)

您好, selenium 拍摄的图像被剪切并出现页面滚动条(上/下和右/左),有没有办法使用 selenium 截取移动视图的屏幕截图?

编辑:1

pastebin html 测试

对于浏览器,我调整了宽度

required_width = driver_selected.execute_script('return document.body.parentNode.scrollWidth')
Run Code Online (Sandbox Code Playgroud)

手机用

required_width = driver_selected.get_window_size().get('width') # Keep same
Run Code Online (Sandbox Code Playgroud)

最后在两个

required_height = driver_selected.execute_script('return document.body.parentNode.scrollHeight')
driver_selected.set_window_size(required_width, required_height)
driver_selected.find_element_by_tag_name('body').screenshot(png_file)
Run Code Online (Sandbox Code Playgroud)

python selenium selenium-chromedriver google-chrome-headless mobileemulation

10
推荐指数
1
解决办法
537
查看次数