网页表格复制器(油猴插件脚本)

2023-12-04 02:28

本文主要是介绍网页表格复制器(油猴插件脚本),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

网页表格复制器(油猴插件脚本)

测试表格

Column 1Column 2Column 3Column 4
文本居中文本居右文本居左默认
test1-1test1-2test1-3test1-4
test2-1test2-2test2-3test2-4

脚本代码

// ==UserScript==
// @name         网页表格复制器
// @namespace    http://tampermonkey.net/
// @version      0.231130.2
// @description  网页表格复制脚本
// @author       N-cat
// @match        *://*/*
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @downloadURL https://update.greasyfork.org/scripts/481068/%E7%BD%91%E9%A1%B5%E8%A1%A8%E6%A0%BC%E5%A4%8D%E5%88%B6%E5%99%A8.user.js
// @updateURL https://update.greasyfork.org/scripts/481068/%E7%BD%91%E9%A1%B5%E8%A1%A8%E6%A0%BC%E5%A4%8D%E5%88%B6%E5%99%A8.meta.js
// ==/UserScript==(function() {'use strict';// 样式添加const style = `<style>.get{position:fixed;right:80px;bottom:150px;background-color:#00a1d6;color:white;height:50px;width:50px;border-radius: 10px;font-size:15px;border:solid 3px #FA5A57;cursor:pointer;outline: none;z-index: 999;}.alertMessage{position: fixed;top: 30px;left: 40%;right: 40%;padding: 20px 30px;background: rgba(0, 0, 0, 0.8);color: #ffffff;font-size: 20px;text-align: center;z-index: 999;display: none;border-radius:5px;}</style>`;let div = document.createElement("div");div.innerHTML += style;document.body.append(div);// 提示框var alertMessage = document.createElement("div");alertMessage.classList.add('alertMessage');document.body.append(alertMessage);function alertmess(mess) {alertMessage.innerHTML = mess; // 填入要显示的文字alertMessage.style.display = "inline"; // 显示弹框setTimeout(function () { // 倒计时alertMessage.innerHTML = ''; // 清空文本alertMessage.style.display = "none" // 隐藏弹框}, 3000); // 3秒}// 获取按钮var get = document.createElement("input");get.setAttribute("type", "button");get.setAttribute("value", "触发");get.classList.add('get');document.body.append(get);// 获取table标签var getnum = 0 // 0:未(取消)触发 1:已触发let startX = 9999; // 按下坐标let startY = 9999;let endX = 9999; // 鼠标坐标let endY = 9999;get.onclick = function(){var tds = document.querySelectorAll('td');console.log(tds);for(let i of tds){// 文本设置无法选中i.style.userSelect = "none";// 鼠标悬浮在td上时提示i.addEventListener("mousemove", function(){i.style.backgroundColor = 'black';i.style.color = 'white';for(let j of i.children){j.style.color = 'white';}});i.addEventListener("mouseout", function(){i.style.removeProperty("background-color");i.style.removeProperty("color");for(let j of i.children){j.style.removeProperty("color");}});}// 框选变色(还未添加复制功能)window.addEventListener("mousedown", function(e){startX = e.clientX;startY = e.clientY;});window.addEventListener("mousemove", function(e){endX = e.clientX;endY = e.clientY;for(let i of tds){// 获取tr元素的左上角坐标和宽度、高度var rect = i.getBoundingClientRect();var tdleft = rect.left;var tdtop = rect.top;var tdwidth = rect.width;var tdheight = rect.height;console.log("起止坐标", startX, endX, startY, endY);// console.log("td坐标", tdleft, tdtop);if (startX <= tdleft + tdwidth && startY <= tdtop + tdheight && endX >= tdleft && endY >= tdtop) {// 将tr元素的背景色设置为黑色(或其他你想要的颜色)i.style.backgroundColor = 'black';i.style.color = 'white';} else if (startX !== 9999){i.style.removeProperty("background-color");i.style.removeProperty("color");}}});// 抬起鼠标重置window.addEventListener("mouseup", function(e){startX = 9999; // 按下坐标startY = 9999;endX = 9999; // 鼠标坐标endY = 9999;for(let i of tds){i.style.removeProperty("background-color");i.style.removeProperty("color");}});// 点击复制全部execl(基础适配)var tables = document.getElementsByTagName("table");for(let i of tables){i.addEventListener("mousedown", function(){var execl = []var trs = i.getElementsByTagName("tr");for(let j of trs){var row = []var tds = j.getElementsByTagName("td");for(let k of tds){if(k.style.display !== "none"){row.push(k.innerText);}}execl.push(row);}console.log(execl);var csv = ""for(let i of execl){for(let j of i){csv = csv + '"' + "'" + j + '"\t';}csv = csv.slice(0,-1) + "\n";}console.log(csv);// 复制视频名称到剪切板const textarea = document.createElement('textarea');document.body.appendChild(textarea);textarea.innerHTML = csv;textarea.select(); // 选取文本域的内容if (document.execCommand('copy')) {document.execCommand('copy');alertmess("网页表格已复制到剪切板");}document.body.removeChild(textarea);});}alertmess("网页表格复制器开启成功");}
})();

这篇关于网页表格复制器(油猴插件脚本)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/451770

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

Linux服务器Java启动脚本

Linux服务器Java启动脚本 1、初版2、优化版本3、常用脚本仓库 本文章介绍了如何在Linux服务器上执行Java并启动jar包, 通常我们会使用nohup直接启动,但是还是需要手动停止然后再次启动, 那如何更优雅的在服务器上启动jar包呢,让我们一起探讨一下吧。 1、初版 第一个版本是常用的做法,直接使用nohup后台启动jar包, 并将日志输出到当前文件夹n

EasyPlayer.js网页H5 Web js播放器能力合集

最近遇到一个需求,要求做一款播放器,发现能力上跟EasyPlayer.js基本一致,满足要求: 需求 功性能 分类 需求描述 功能 预览 分屏模式 单分屏(单屏/全屏) 多分屏(2*2) 多分屏(3*3) 多分屏(4*4) 播放控制 播放(单个或全部) 暂停(暂停时展示最后一帧画面) 停止(单个或全部) 声音控制(开关/音量调节) 主辅码流切换 辅助功能 屏

禁止复制的网页怎么复制

禁止复制的网页怎么复制 文章目录 禁止复制的网页怎么复制前言准备工作操作步骤一、在浏览器菜单中找到“开发者工具”二、点击“检查元素(inspect element)”按钮三、在网页中选取需要的片段,锁定对应的元素四、复制被选中的元素五、粘贴到记事本,以`.html`为后缀命名六、打开`xxx.html`,优雅地复制 前言 在浏览网页的时候,有的网页内容无法复制。比如「360

Prompt - 将图片的表格转换成Markdown

Prompt - 将图片的表格转换成Markdown 0. 引言1. 提示词2. 原始版本 0. 引言 最近尝试将图片中的表格转换成Markdown格式,需要不断条件和优化提示词。记录一下调整好的提示词,以后在继续优化迭代。 1. 提示词 英文版本: You are an AI assistant tasked with extracting the content of

Maven(插件配置和生命周期的绑定)

1.这篇文章很好,介绍的maven插件的。 2.maven的source插件为例,可以把源代码打成包。 Goals Overview就可以查看该插件下面所有的目标。 这里我们要使用的是source:jar-no-fork。 3.查看source插件的example,然后配置到riil-collect.xml中。  <build>   <plugins>    <pl

centos6一键安装vsftpd脚本

centos6一键安装vsftpd脚本 手动安装vsftpd参考教程:Centos下安装Vsftpd的图文教程 vsftpd脚本功能: 1.安装 (命令执行:sh xxx.sh)2.添加ftp用户 (命令执行:sh xxx.sh add)3.卸载vsftpd (命令执行:sh xxx.sh uninstall) 测试环境:centos6 x64 centos6 x86(测试centos7以

jenkins 插件执行shell命令时,提示“Command not found”处理方法

首先提示找不到“Command not found,可能我们第一反应是查看目标机器是否已支持该命令,不过如果相信能找到这里来的朋友估计遇到的跟我一样,其实目标机器是没有问题的通过一些远程工具执行shell命令是可以执行。奇怪的就是通过jenkinsSSH插件无法执行,经一番折腾各种搜索发现是jenkins没有加载/etc/profile导致。 【解决办法】: 需要在jenkins调用shell脚

Jenkins 插件 地址证书报错问题解决思路

问题提示摘要: SunCertPathBuilderException: unable to find valid certification path to requested target...... 网上很多的解决方式是更新站点的地址,我这里修改了一个日本的地址(清华镜像也好),其实发现是解决不了上述的报错问题的,其实,最终拉去插件的时候,会提示证书的问题,几经周折找到了其中一遍博文

火语言RPA流程组件介绍--浏览网页

🚩【组件功能】:浏览器打开指定网址或本地html文件 配置预览 配置说明 网址URL 支持T或# 默认FLOW输入项 输入需要打开的网址URL 超时时间 支持T或# 打开网页超时时间 执行后后等待时间(ms) 支持T或# 当前组件执行完成后继续等待的时间 UserAgent 支持T或# User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器