selenium save_screenshot 如何进行全网页截图?

发布于 2020-06-04 10:35:10

目前使用的是save_screenshot进行截图,但由于网页内容比较长,只能截图到部分网页,请问怎么把整个网页截图下来?

查看更多

关注者
0
被浏览
1.5k
answer
answer 认证专家 2020-06-04
这家伙很懒,什么也没写!

解决的思路通过set_window_size()就是把浏览器的长宽高调大:

width = self.session.execute_script(
            "document.body.scrollWidth, document.body.offsetWidth, document.documentElement.clientWidth, document.documentElement.scrollWidth, document.documentElement.offsetWidth);")
        height = self.session.execute_script(
            "return Math.max(document.body.scrollHeight, document.body.offsetHeight, document.documentElement.clientHeight, document.documentElement.scrollHeight, document.documentElement.offsetHeight);")
        webdriver.set_window_size(width, height)
        webdriver.save_screenshot(path)

如果只是希望调高度,可以改成把宽度固定,比如1028:

document.documentElement.offsetWidth);")
        height = self.session.execute_script(
            "return Math.max(document.body.scrollHeight, document.body.offsetHeight, document.documentElement.clientHeight, document.documentElement.scrollHeight, document.documentElement.offsetHeight);")
        webdriver.set_window_size(1028, height)
        webdriver.save_screenshot(path)
1 个回答

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览