电脑网页如何截全屏,电脑整个网页怎么截图全屏
Python selenium实现网页前言全屏截图实现方法是枕硒,基本原理是:
截取多张不同位置的页面,拼接成一个图片
。智能:Chrome()只能拦截当前屏幕显示的网页。本文是针对webdriver的全屏拦截解决方案。铬合金()
在开始写代码之前,我们必须明确我们的最终目的,那就是截取整个网页。根据这一要求,分解出几个问题点:
如何截图一个网页?什么样的网页有完全拦截的要求?如何拦截所有的网页?如何拼接一些抓取的网页截图?先从以上问题说起吧!
目标网站:https://www.csdn.net/
首先你要知道如何在网页中截图。
从selenium导入web drive rd river=web driver . chrome()#设置浏览器窗口最大化driver.maximize_window() #设置打开页面最大化,目的是更好的拦截错误图片#打开税网driver . get( 3359 www.csdn.net/)# 1 .截取当前页面driver . save _ screen shot( result . png )。上面的执行是截取当前显示的页面,但不是我们想要的完整页面,所以要截取多张图片。
从PIL导入ImageJS={ 滚动到页面末尾: window . scroll({ top:document . body . client height,left: 0,behavior: auto });, scroll to : window . scroll({ top:% d,left: 0,behavior: auto });,} #获取正文大小body _ h=int(driver . find _ element _ by _ XPath(//body )。size . get( height )#计算当前页面截图的高度#(也可以使用driver.get_window_size()获得高度,但有错误,推荐图片高度计算)current _ h=image . open( result . png )。size[1]image _ list=[ result . png ]#保存截取的图片路径为i in range(1,Int(body_h/current_h)): # 1。滚动到指定的锚点driver . execute _ script(JS[ scroll to ]%(current _ h * I))# 2。driver . save _ screen shot(f test _ { I })截图。png) join_images(result.png ,Ftest_{i})。png)#处理最后一张图片driver.execute_script(JS[滚动到页面末尾])driver . save _ screen( test _ end . png )# splice pictures join _ images( result . png , test _ end . png Size=current _ h-int(body _ h % current _ h)),参考拳手大神发自灵魂的博文的python图片拼接。
def join_images(png1,png2,size=0,Output=result.png ): 图片拼接:param png 1:Picture 1:param png 2:Picture 2:param size:两张图片的重叠距离:param output:输出图片文件:return: #图片拼接img1,Img 2=image.open (png1),image.open (png2) size1,size2=img1.size,img2.size #获取两张图片的大小join=image . new( RGB ,(size1
相关信息:
Python图像拼接