首页 > 其他分享 >selenium 滚动截图参考

selenium 滚动截图参考

时间:2023-09-21 11:11:54浏览次数:42  
标签:截图 滚动 screenshot selenium driver height Selenium

 

 

 

Selenium本身并不直接支持滚动截图,但是你可以通过编程方式实现滚动截图。下面是一个Python的例子,使用Selenium和PIL库实现滚动截图:

from selenium import webdriver  
from PIL import Image  
import time  
  
# 初始化浏览器驱动  
driver = webdriver.Firefox()  
  
# 打开网页  
driver.get("http://www.example.com")  
  
# 获取网页高度  
height = driver.execute_script("return document.body.scrollHeight")  
  
# 滚动截图  
screenshot = Image.new('RGB', (1920, height), (255, 255, 255))  
driver.set_window_size(1920, height)  
for i in range(0, height, 100):  
    driver.execute_script("window.scrollTo(0, %d)" % i)  
    time.sleep(0.5)  
    screenshot_part = driver.get_screenshot_as_png()  
    screenshot.paste(screenshot_part, (0, i))  
  
# 保存截图  
screenshot.save("screenshot.png")  
  
# 关闭浏览器驱动  
driver.quit()

 

 

这个例子中,我们首先使用Selenium打开了一个网页,然后获取了网页的高度。接下来,我们使用PIL库创建了一个大小为1920x高度的空白图片,然后将浏览器窗口大小设置为与网页大小相同。在循环中,我们使用Selenium将浏览器滚动到不同的位置,然后使用get_screenshot_as_png()方法获取当前位置的截图,并将其粘贴到空白图片中。最后,我们将整个滚动截图保存为PNG格式的图片。

标签:截图,滚动,screenshot,selenium,driver,height,Selenium
From: https://www.cnblogs.com/machangwei-8/p/17719437.html

相关文章

  • 使用 Selenium 或其他工具模拟浏览器使用及语法代码
    使用Selenium模拟浏览器使用的代码示例如下:fromseleniumimportwebdriverfromselenium.webdriver.common.keysimportKeys#创建浏览器驱动实例driver=webdriver.Chrome()#打开网页driver.get("https://www.example.com")#查找并填写表单search_box=driver.f......
  • Selenium八大定位方法
    From: https://mp.weixin.qq.com/s/e0Kj7SrTRL_hP2fS5zPg2g-------------------------------------------------------------------------------------引言在使用Selenium进行Web自动化测试时,准确地定位元素是非常重要的一步。Selenium提供了多种元素定位方法,本文将深入探究这......
  • React 虚拟滚动 长列表
    定高版本1"useclient";2importReact,{useCallback,useMemo,useState}from"react";34interfaceIProps{5list:any[];6fixedHeight:number;7}89//Fixedheight10constVirtualView=(props:IProps)=>{1......
  • R语言风险价值:ARIMA,GARCH模型,Delta-normal法滚动估计,预测VaR(Value at Risk)和回测分析
    原文链接:http://tecdat.cn/?p=24492原文出处:拓端数据部落公众号介绍此分析的目的是帮助客户构建一个过程,以在给定时变波动性的情况下正确估计风险价值。风险价值被广泛用于衡量金融机构的市场风险。我们的时间序列数据包括1258天的股票收益。为了解释每日收益率方差的一小部......
  • Python 爬虫使用 Selenium 如何在 WebElement 获得属性
    首先,我们需要初始化驱动和指定使用特定的流量器。 代码如下: fromseleniumimportwebdriverwd=webdriver.Firefox()上面的代码可以简单的理解为启动一个Firefox的实例。使用css选择器可以把程序读取的HTML理解为一个Doc。我们需要在Doc中选择我们的元素,这个叫做选择......
  • Python 爬虫使用 Selenium 如何在 WebElement 获得属性
    首先,我们需要初始化驱动和指定使用特定的流量器。 代码如下: fromseleniumimportwebdriverwd=webdriver.Firefox()上面的代码可以简单的理解为启动一个Firefox的实例。使用css选择器可以把程序读取的HTML理解为一个Doc。我们需要在Doc中选择我们的元素,......
  • 如何使用谷歌浏览器网页长截图
    使用Chrome浏览器59或更高版本chrome://settings/help进入待截图的网页按下F12快捷键(或鼠标右键>>审查元素),调出Web开发者工具按下Ctrl+Shift+P快捷键,调出指令执行界面输入Capturefullsizescreenshot(支持模糊搜索)指令(该指令中文环境下为“捕获全尺寸屏幕......
  • selenium
    importtimeimportpyautoguiimportcv2importtimefromselenium.webdriverimportEdgefromselenium.webdriver.common.byimportBydefget_xy(img_model_path):"""用来判定游戏画面的点击坐标:paramimg_model_path:用来检测的图片:return:以元组形式返回检......
  • Selenium启动chrome谷歌浏览器报错 session not created: This version of ChromeDriv
    问题Selenium启动chrome谷歌浏览器报错sessionnotcreated:ThisversionofChromeDriveronlysupportsChromeversion114参考https://www.cnblogs.com/interdrp/p/17650061.html解决使用指定版本(stable)的google浏览器和配套的chromedriver驱动。https://googlechrom......
  • 一个稍微用了下selenium的爬虫框架
    fromseleniumimportwebdriverfromselenium.webdriver.common.keysimportKeysfromselenium.webdriver.common.byimportByfromselenium.webdriver.chrome.optionsimportOptionsdefgethreflist(url)#Settheheadersfortherequestheaders={......