最近完成一个需求,需要对监控页面全屏截图,并存储成图片上传到oss。
先简短记录下最终的解决方式,后续有空完善细节及代码注释.
网上找了很多资料,全屏截图的确可以,但是如果有代码小scroll的页面无法成功全屏截图,解决方式是:
execute_script = """
(function () {
var y = 0;
var step = 100;
window.scroll(0, 0);
function f() {
if (y < document.body.scrollHeight) {
y += step;
window.scroll(0, y);
setTimeout(f, 50);
} else {
window.scroll(0, 0);
document.title += "scroll-done";
}
}
setTimeout(f, 1000);
})();
"""
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
def screen_shot(image_path, shot_url