selenium截图模糊_python+selenium对元素进行截图以及截图产生偏差问题

本文演示了如何使用Python的Selenium库进行精确的网页元素截图,并解决了因浏览器工具栏导致的截图偏差问题。示例代码包括搜索图片、滚动页面、选择下拉选项等操作,以及在不同页面和窗口间切换。最后,展示了如何处理滚动条以获取完整截图。
摘要由CSDN通过智能技术生成

#! /usr/local/bin/python3

#coding=utf-8

import os

from PIL import Image

from time import sleep

from io import BytesIO

from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.common.keys import Keys

from selenium.webdriver.support.select import Select # 引入下拉框操作的类模块

from selenium.webdriver.support.wait import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

from selenium.webdriver.common.action_chains import ActionChains

def save_image(offset,path,xpath):

try:

img=WebDriverWait(driver,20).until(EC.visibility_of_element_located((By.XPATH,xpath)))#driver.find_element_by_xpath(xpath)

sleep(2)

location = img.location

size = img.size

top, bottom, left, right = location['y']-offset, location['y']-offset+ size['height'], location['x'], location['x'] + size['width']

screenshot = driver.get_screenshot_as_png()

screenshot = Image.open(BytesIO(screenshot))

screenshot = screenshot.crop((left, top, right, bottom))

screenshot.save(path)

except:

pass

kw=input("输入要搜索的图片类型:")

driver = webdriver.Firefox()

driver.maximize_window()

#driver.fullscreen_window()

driver.execute_script("""function gettopH()

{var topH=window.outerHeight - window.innerHeight;

alert("浏览器工具栏高度 =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值