批量下载某个页面的所有图片(可复用)

1.先在浏览器设置下载不提示,并且设置好下载位置

2新建书签,地址栏中填入下方代码,保存

javascript:
index=0;
interval=setInterval(function(){
	if(index<document.images.length){
		url=document.images[i].src;
		filename=new Date().getTime()+".jpg";
		fetch(url).then((res) => res.blob()).then((blob) => { 
			const url = window.URL.createObjectURL(blob); 
			const a = document.createElement("a"); 
			a.href = url; 
			a.download = filename; 
			document.body.appendChild(a); 
			a.click(); 
			window.URL.revokeObjectURL(url); 
			a.remove(); 
		}).catch((err) => console.error(err.message));
	    index++
	}else{
		clearInterval(interval)
    }
},200)

3.在需要的页面上,点击刚刚建的书签

4.等待下载完毕 

tips:可以根据情况自己改一下文件后缀和延时,注意延时过短的话容易出现只下载了一部分就结束了

运行环境 .NET Framework2.0 开发工具 Microsoft Visual Studio 2005 二. 部分代码说明(主要讲解异步分析和下载): 异步分析下载采取的策略是同时分析同时下载,即未等待数据全部分析完毕就开始把已经分析出来的图片链接开始下载下载成功的均在List框链接前面划上了√ ,未能下载图片有可能是分析错误或者是下载异常。 1. 异步分析部分代码 /// /// 异步分析下载 /// private void AsyncAnalyzeAndDownload(string url, string savePath) { this.uriString = url; this.savePath = savePath; #region 分析计时开始 count = 0; count1 = 0; freq = 0; result = 0; QueryPerformanceFrequency(ref freq); QueryPerformanceCounter(ref count); #endregion using (WebClient wClient = new WebClient()) { AutoResetEvent waiter = new AutoResetEvent(false); wClient.Credentials = CredentialCache.DefaultCredentials; wClient.DownloadDataCompleted += new DownloadDataCompletedEventHandler(AsyncURIAnalyze); wClient.DownloadDataAsync(new Uri(uriString), waiter); //waiter.WaitOne(); //阻止当前线程,直到收到信号 } } /// /// 异步分析 /// protected void AsyncURIAnalyze(Object sender, DownloadDataCompletedEventArgs e) { AutoResetEvent waiter = (AutoResetEvent)e.UserState; try { if (!e.Cancelled && e.Error == null) { string dnDir = string.Empty; string domainName = string.Empty; string uri = uriString; //获得域名 http://www.sina.com/ Match match = Regex.Match(uri, @"((http(s)?://)?)+[\w-.]+[^/]");//, RegexOptions.IgnoreCase domainName = match.Value; //获得域名最深层目录 http://www.sina.com/mail/ if (domainName.Equals(uri
### 回答1: 在LabVIEW中,实现页面复用可以通过以下几种方法: 1. 使用SubVI(子VI):将特定功能的LabVIEW控件和代码封装为一个子VI,在需要重复使用该功能的地方直接调用该子VI即可实现页面复用。 2. 使用Case Structure(案例结构):通过在主页面上使用Case Structure,根据不同的条件选择不同的子页面进行显示。这样就可以在一个主页面复用多个子页面,根据不同的输入条件切换显示。 3. 使用Tab Control(选项卡控件):在主页面上添加一个Tab Control控件,在不同的选项卡上放置不同的子页面。通过选择不同的选项卡,即可切换不同的子页面进行复用。 4. 使用Cluster(聚合控件):将多个子页面的控件和代码聚合到一个Cluster控件中,在主页面上添加这个Cluster控件,并控制其可见性。通过控制Cluster控件的可见性,可以控制显示不同的子页面。 综上所述,LabVIEW中实现页面复用可以使用SubVI、Case Structure、Tab Control和Cluster等方法。根据实际情况选择合适的方法,将需要复用的子页面封装成模块化的功能,可以提高代码的可读性和重用性。 ### 回答2: 在LabVIEW中,可以通过创建子VI来实现页面复用。子VI是一个独立的VI文件,它可以在父VI中被重复调用和调用。 首先,我们在LabVIEW中创建一个子VI。方法是点击菜单栏的"文件(File)",选择"新建(New)",然后选择"VI"。在新VI中,我们可以设计子页面的外观和功能,例如添加按钮、输入框和输出指示器。设计完成后,我们将子VI保存到特定的文件夹中。 接下来,在父VI中调用子VI。在父VI中,我们可以使用子VI节点将子VI添加到程序中。只需将子VI节点拖放到父VI中,并将其与需要调用子VI的功能模块连接起来。通过连接输入输出线,父VI可以将数据传递给子VI,子VI也可以将处理后的数据返回给父VI。 当多个父VI需要使用同样的页面时,我们只需将子VI节点复制到相应的父VI中即可,这样可以实现页面复用。如果需要对页面进行修改,只需打开子VI并进行更改,所有调用该子VI的父VI都会自动更新。 在设计子VI时,需要注意将子VI设计为可复用的,即要保证其输入参数的一致性。如果子VI的输入参数在不同的父VI中有所差异,那么在复用时可能会出现问题。因此,在设计子VI时,应该考虑到其通用性,并提供合适的接口和标准化的输入输出。 通过使用LabVIEW的子VI,我们可以实现页面复用,提高程序开发效率,并简化维护工作。同时,这种设计方法也符合软件工程的设计原则,使得程序结构更加模块化和易于理解。 ### 回答3: 在LabVIEW中,子页面复用是一种便捷的编程技术,可以通过将子页面嵌入到主页面中,实现在多个页面中共享相同的功能或界面布局。 实现页面复用的首要步骤是创建一个独立的子页面VI(Virtual Instrument),该VI可以包含各种控件、指示灯、图形等组件组成的界面。在创建子页面VI时,需要考虑将其封装为一个独立的功能模块,使得它可以在不同的主页面中使用。 在主页面VI中,可以通过调用子页面VI来将其嵌入到主页面中。这可以通过创建一个子VI容器控件,然后将子页面VI拖拽到容器中实现。主页面VI中可以为子VI容器控件设置各种属性,如位置、大小、显示模式等,以便调整子页面VI在主页面中的显示效果。 在子页面VI中,可以定义各种事件处理程序和功能代码,以实现与主页面中其他组件的交互和通信。例如,可以通过事件结构来响应按钮点击事件、鼠标移动事件等。还可以通过全局变量、队列等方式在主页面和子页面之间传递数据。 使用子页面复用技术,可以极大地简化LabVIEW程序的开发过程。通过将常用的功能或界面封装为子页面VI,可以在不同的主页面中重复使用,使得程序的模块化和可维护性更高。同时,由于子页面VI是独立于主页面的,可以更加灵活地在不同的主页面中调整和布局子页面。 总之,LabVIEW的子页面复用技术是一种强大的工具,通过它可以更高效地创建和管理LabVIEW程序的界面。通过正确的使用子页面复用,可以使LabVIEW程序的开发速度更快、代码更加清晰易于理解。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值