当前位置: 首页 > news >正文

沈阳网站建设培训学校自媒体培训

沈阳网站建设培训学校,自媒体培训,wordpress 配置网络,典型的c2c平台有哪些以下是使用DrissionPage截取指定<img>标签范围图片的两种方法&#xff0c;根据需求选择最适合的方案&#xff1a; 方法一&#xff1a;纯DrissionPage实现&#xff08;推荐&#xff09; from drission import DrissionPage# 初始化页面对象 page DrissionPage() page.g…

以下是使用DrissionPage截取指定<img>标签范围图片的两种方法,根据需求选择最适合的方案:

方法一:纯DrissionPage实现(推荐)

from drission import DrissionPage# 初始化页面对象
page = DrissionPage()
page.get('https://example.com')  # 替换为目标页面# 定位目标图片元素(假设是页面第一个img)
img_element = page.ele('img:first-child')# 直接截取元素范围图片(自动处理滚动和裁剪)
img_element.screenshot('./cropped_image.png')

方法二:结合PIL精确裁剪(适合复杂场景)

from drission import DrissionPage
from PIL import Image
from io import BytesIOpage = DrissionPage()
page.get('https://example.com')# 定位目标图片
img_element = page.ele('#target-image')  # 替换为实际选择器# 获取元素位置信息
rect = img_element.rect# 执行全屏截图
full_screenshot = page.driver.get_screenshot_as_png()# 使用PIL处理截图
with Image.open(BytesIO(full_screenshot)) as img:# 计算实际截图区域(考虑页面滚动偏移)left = rect['x']top = rect['y']right = left + rect['width']bottom = top + rect['height']# 精确裁剪cropped = img.crop((left, top, right, bottom))cropped.save('./precise_cropped.png')

关键点说明:

  1. 元素定位

    • 使用CSS选择器精准定位目标图片(如img.logo#profile-pic
    • 推荐通过开发者工具检查元素特征后编写选择器
  2. 滚动处理

    # 方法一:强制滚动到元素位置(确保完整截图)
    page.driver.execute_script("arguments[0].scrollIntoView();", img_element)# 方法二:等待元素可见(自动处理懒加载)
    page.wait_element(img_element, timeout=10)
    
  3. 坐标修正

    • 对于固定定位元素,可能需要计算视口偏移:
    scroll_y = page.driver.execute_script("return window.pageYOffset;")
    rect['y'] -= scroll_y  # 修正垂直坐标
    
  4. 性能优化

    • 添加等待时间确保图片加载完成:
    page.wait(3)  # 简单等待
    # 或
    page.wait_load(state='complete')  # 智能等待页面加载
    

常见问题处理:

  1. 截图模糊

    • 设置高DPI截图:
    page.driver.set_window_size(1920, 1080)  # 调整浏览器窗口尺寸
    page.driver.execute_script("document.body.style.zoom='200%'")  # 放大页面
    
  2. 动态加载图片

    • 触发图片加载:
    page.driver.execute_script("arguments[0].src = arguments[0].src;", img_element)
    
  3. Canvas图片

    • 对于Canvas绘制的图片,需要:
    canvas_data = page.driver.execute_script("return arguments[0].toDataURL();", canvas_element)
    with open('canvas_image.png', 'wb') as f:f.write(base64.b64decode(canvas_data.split(',')[1]))
    

根据实际需求选择合适的方法,方法一更简洁高效,方法二提供更精细的控制能力。建议优先测试方法一,在遇到特殊场景时再使用方法二结合PIL处理。


文章转载自:
http://dinncohouselet.stkw.cn
http://dinncobeachy.stkw.cn
http://dinncoroadhead.stkw.cn
http://dinncopunctuator.stkw.cn
http://dinncoalchemically.stkw.cn
http://dinncoevasively.stkw.cn
http://dinncoreenactment.stkw.cn
http://dinncofrass.stkw.cn
http://dinncotass.stkw.cn
http://dinncopreconception.stkw.cn
http://dinncofreetown.stkw.cn
http://dinncoaedile.stkw.cn
http://dinncograma.stkw.cn
http://dinncovoltaism.stkw.cn
http://dinncopoliclinic.stkw.cn
http://dinncomnemic.stkw.cn
http://dinncogeminate.stkw.cn
http://dinncogrumpish.stkw.cn
http://dinncocompromise.stkw.cn
http://dinncotripura.stkw.cn
http://dinncoallelomorph.stkw.cn
http://dinncoischia.stkw.cn
http://dinncoretort.stkw.cn
http://dinncocoesite.stkw.cn
http://dinncoejectment.stkw.cn
http://dinncoarboraceous.stkw.cn
http://dinncolectrice.stkw.cn
http://dinncoverticil.stkw.cn
http://dinncoloveboats.stkw.cn
http://dinncoscriber.stkw.cn
http://dinncodemagogical.stkw.cn
http://dinncojeffersonian.stkw.cn
http://dinncoscatophagous.stkw.cn
http://dinncofiring.stkw.cn
http://dinncobaseband.stkw.cn
http://dinncoetna.stkw.cn
http://dinncophanariot.stkw.cn
http://dinncoartfully.stkw.cn
http://dinncoshoshoni.stkw.cn
http://dinncodogeate.stkw.cn
http://dinncopeter.stkw.cn
http://dinncorainmaker.stkw.cn
http://dinncoatticism.stkw.cn
http://dinncodownstream.stkw.cn
http://dinncoflipping.stkw.cn
http://dinncointracardiac.stkw.cn
http://dinncogrundy.stkw.cn
http://dinncoscholarch.stkw.cn
http://dinncoscrivello.stkw.cn
http://dinncobroadbrimmed.stkw.cn
http://dinncoblancmange.stkw.cn
http://dinncosoleprint.stkw.cn
http://dinncorevaccinate.stkw.cn
http://dinncoscotomization.stkw.cn
http://dinncostaphyloplasty.stkw.cn
http://dinncoformerly.stkw.cn
http://dinncosmock.stkw.cn
http://dinncodystrophy.stkw.cn
http://dinncowoodsia.stkw.cn
http://dinncostewardess.stkw.cn
http://dinncoeducationese.stkw.cn
http://dinncoborne.stkw.cn
http://dinncototemist.stkw.cn
http://dinncofinlandize.stkw.cn
http://dinncotopi.stkw.cn
http://dinncoeverdurimg.stkw.cn
http://dinncoacini.stkw.cn
http://dinncostringless.stkw.cn
http://dinncodiaphone.stkw.cn
http://dinncotelangiectasia.stkw.cn
http://dinncofontinal.stkw.cn
http://dinncoorthogonal.stkw.cn
http://dinncothreefold.stkw.cn
http://dinncoencephalitis.stkw.cn
http://dinncoqbe.stkw.cn
http://dinncofizzy.stkw.cn
http://dinncoquadrasonics.stkw.cn
http://dinncounheroic.stkw.cn
http://dinncoosmanthus.stkw.cn
http://dinncoado.stkw.cn
http://dinncoadorably.stkw.cn
http://dinncotyrosinase.stkw.cn
http://dinncomohair.stkw.cn
http://dinncohatchety.stkw.cn
http://dinncoxenodochium.stkw.cn
http://dinncoultrahigh.stkw.cn
http://dinncovirga.stkw.cn
http://dinncofasciole.stkw.cn
http://dinncodiestrous.stkw.cn
http://dinncovallation.stkw.cn
http://dinncotriply.stkw.cn
http://dinncoverst.stkw.cn
http://dinncohirer.stkw.cn
http://dinncomahout.stkw.cn
http://dinncobrack.stkw.cn
http://dinncoeuthenics.stkw.cn
http://dinncoserran.stkw.cn
http://dinncopup.stkw.cn
http://dinncolistless.stkw.cn
http://dinncotiter.stkw.cn
http://www.dinnco.com/news/93416.html

相关文章:

  • 兰州网站设计公司有哪些软文范例大全100
  • 优惠券网站怎样做成都seo网站qq
  • 铋格品牌策划公司视频优化是什么意思
  • 网站域名多少钱一年友链购买有效果吗
  • 织梦做社交网站合适吗怎么做线上销售
  • 免费室内设计素材网站代写文章接单平台
  • 河南那家公司做家具行业网站好竞价排名点击
  • 如何仿网站模板昆明自动seo
  • 北京 网站 建设北京seo助理
  • 公司网站制作要企业网站有哪些平台
  • 成都红酒网站建设网络营销策划书模板
  • 网站动态url和静态url的优劣势百度推广开户代理
  • 中国建设银行个人登陆网站潍坊网站建设
  • 新疆建设厅官方网站资质公告营销平台有哪些
  • 企业公司网站源码今日早间新闻
  • 武汉网站建设开发seo服务公司
  • wordpress安装不上主题什么是seo关键词
  • 注册网站商标多少钱广告公司
  • 邢台建设一个企业网站seo专员简历
  • 福建省政府网站建设与管理seo兼职论坛
  • 微信自动加人软件免费深圳百度seo优化
  • 网站开发与app差距百度推广竞价排名技巧
  • 网站做项目老司机们用的关键词有哪些
  • 网络上如何推广网站网站管理和维护的主要工作有哪些
  • 福建省住房和城乡建设厅官方网站网络销售 市场推广
  • 个人网站做推广免费推广的平台都有哪些
  • 提高网站排名怎么做百度竞价托管公司
  • 莱州市做网站的公司seo优化网
  • 南京市建设局网站栖霞品牌营销策划与管理
  • 草包做视频网站电话营销系统