油猴+JS代码创建DEAP网页按钮

DEAP

DEAP (Data Exploration and Analysis Portal)是ABCD提供的数据探索和分析网站,允许用户对ABCD数据进行下载和统计分析(需要NDA凭证登录)。在这里可以看到最新release的行为和ROI水平的指标。让人印象深刻的地方是使用DEAP可以快速(0.2s以内)从上万个文件中检索出所需要的数据。

比如 MID任务中Reward anticipation large vs. neural Contrast的beta值,将需要的数据加入购物车即可下载。

689b66e6b37914711ad6377c357fbb02.png

但是目前DEAP存在以下两个影响用户体验的地方:

1)无法将数据一次性将所有检索出来的内容加入购物车,必须一个一个地点。

2)清空购物车时,如果不在清除缓存的话,即使在购物车加入新的数据,仍然会下载之前添加的数据。但是这个功能隐藏在一个很遥远的页面中。

c83b9558f5124596bcfa6ecb890ac109.png

油猴

相信很多人听说过油猴(Tampermonkey),可以理解为一个用户脚本管理器。它主要依靠各大社区编写的扩展脚本(JavaScript代码)运行在浏览器上,来改变被访问网页的功能,提升网页浏览体验。所以可以考虑在DEAP的页面上加入自制的JS代码,实现:

  1. 添加按钮

  2. 一键添加购物车

  3. 清空购物车

1.添加HTML 按钮

e385345a7b13171559616fd11b5a21cf.png

参考模板

https://stackoverflow.com/questions/6480082/add-a-javascript-button-using-greasemonkey-or-tampermonkey

2.一键添加购物车

77db9e19236293ddf73d8a6b0ddbeba1.png

原理就是根据ClassName找到所有Add to Chart的按钮并点击。这里可以通过查看网页元素的方法查看按钮的属性。

df4317b1cc9c6ff858b866991d7da6fa.png


3.清空购物车

原理就是清空缓存和刷新页面

af2285c0ab9af2a2c13e24de961739b2.png

三部分内容搞明白之后就是将按钮所执行的功能替换成所需功能,并调整按钮的位置和外观即可。即使不用DEAP,第一部分的框架完全可以运用到其他网站实现某些功能。

5017ad8eee1127b97ab78816518e19ca.png

在油猴JS代码前写 debugger; 可以进入代码调试模式。还有一个调试代码的地方就是网页查看元素页面的console,在这里可以看到报错的信息,也可以直接在这里运行JS的代码。

2a00b0455d7f8b4a62adbbe015b67751.png

初识油猴还是在几年前,那个时候需要尽快预约一个提交签证申请的时间,写了一个简单的JS脚本不停刷新可预约时间,结果账号直接被封了72个小时780b12eed394ab13d73f8c4c20467efe.png,还好解封后很快就预约到了最近的时间57ebef39f5703d3af97361e616fd27bb.png

c4afe31bfdf362814320db8faee5d294.png


版权声明:本文为lazysnake666原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。