时间:2021-05-22
一.目标
浏览网页的时候,看见哪个元素,就能截取哪个元素当图片,不管那个元素有多长
二.所用工具和第三方库
python ,PIL,selenium
pycharm
三.代码部分
长截图整体思路:
1.获取元素
2.移动,截图,移动,截图,直到抵达元素的底部
3.把截图按照元素所在位置切割,在所有图片中只保留该元素
4.拼接
如果driver在环境变量中,那么不用指定路径
b=webdriver.Chrome(executable_path=r"C:\Users\Desktop\chromedriver.exe")#指定一下driverb.get("https://.cn/html/html_links.asp")b.maximize_window()#最大化窗口# b.get_screenshot_as_file(fp)sc_hight=614#你屏幕截图默认的大小,可以去截一张,去画图里面看看是多少像素,我这里是614像素# b.switch_to.frame(b.find_element_by_xpath('//*[@id="intro"]/iframe'))el=b.find_element_by_id("maincontent")#找到元素if el.size["height"]>sc_hight: long_sc(el,b)else: short_sc(el,b)完整代码
PS:
有些特殊情况,比如截取的元素在iframe中,直接用driver.switch_to.frame(iframe元素)即可
或者不是iframe,但是元素有overflow属性,直接用JS把他的overflow去掉就行
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
iPhone11手机如何实现长截图?苹果iPhone11手机可以像安卓那样随意长截图吗? 首先要知道的是,苹果iPhone手机自身没有长截图功能,因为iOS是
oppor15x自带长截图功能,不需要下载第三方应用就能实现长截屏,把一整个页面作为一张图片保存下来,下面教大家如何实现长截图。oppoR15x滚动截屏教程1、
如果用到数据筛选功能,可以使用xifconditionelsey的逻辑实现。如果使用的是纯Python,可以使用不断迭代的方式对每一组元素组合进行相应的判断筛选
FastStoneCapture是我们最常用的一款截图软件,其中,FastStoneCapture给用户提供的长截图功能是用户需求最多的功能。一些网友对Fa
本文实例讲述了Python实现的网页截图功能。分享给大家供大家参考,具体如下:方法一、使用PyQt4的QtWebKit组件#!/usr/bin/envpytho