关于一些页面限制复制文字的简易解决方案

164 阅读1分钟

只做记录,不为解决任何问题。

一.添加ID

右键打开“检查”(F12),选择开发者工具左上角的dom选择器,寻找要复制的文字的dom容器,并在element中添加属性id="copyInnerTextId"

二.运行代码获取文字

开发者工具的console,输入以下代码回车(代码非固定,按照自己的理解写就行)

function getAllText(element) {
  var text = '';

  // 遍历子节点
  for (var i = 0; i < element.childNodes.length; i++) {
    var node = element.childNodes[i];
    
    // 如果是文本节点,则获取文本内容
    if (node.nodeType === Node.TEXT_NODE) {
      text += node.textContent;
    }
    
    // 如果是元素节点,则递归地处理其子节点
    if (node.nodeType === Node.ELEMENT_NODE) {
      text += getAllText(node);
    }
  }

  return text;
}

// 获取指定 div 元素中的所有文字内容
var divElement = document.getElementById("copyInnerTextId");
var allText = getAllText(divElement);
console.log(allText);

该dom容器包含的文字就都出来了。复制即可。

部分网站无法打开F12,或者无法打开审查页面,将鼠标放在地址栏聚焦,然后再F12即可