控制台中的纯javascript:从页面中提取链接,模拟单击另一个页面并执行相同操作

控制台中的纯javascript:从页面中提取链接,模拟单击另一个页面并执行相同操作,javascript,html,ajax,web,Javascript,Html,Ajax,Web,我很好奇,输入浏览器控制台的纯(普通)javascript代码是否可以提取(第一个)页面的所有链接,然后模拟点击转到另一个页面,提取那里的链接并转到第三个页面。 提取链接意味着将它们写入控制台 与1相同的问题,但是链接到另一个页面只是一个ajax调用来更新页面的一部分,实际上并不转到另一个页面 另外,所有链接都属于一个域 你知道如何基于纯javascript实现这一点吗 例如,如果您转到Google并输入一些单词(“示例”),则可以打开控制台并输入 var array = []; var lin

我很好奇,输入浏览器控制台的纯(普通)javascript代码是否可以提取(第一个)页面的所有链接,然后模拟点击转到另一个页面,提取那里的链接并转到第三个页面。 提取链接意味着将它们写入控制台

  • 与1相同的问题,但是链接到另一个页面只是一个ajax调用来更新页面的一部分,实际上并不转到另一个页面

  • 另外,所有链接都属于一个域

    你知道如何基于纯javascript实现这一点吗

    例如,如果您转到Google并输入一些单词(“示例”),则可以打开控制台并输入

    var array = [];
    var links = document.getElementsByTagName("cite");
    for(var i=0; i<links.length; i++) {
        array.push(links[i].innerHTML);
    };
    console.log(array);
    
    var数组=[];
    var links=document.getElementsByTagName(“引用”);
    
    对于(var i=0;i如果要将所有链接写入控制台,可以使用更具体的命令

    适用于谷歌

    // Firstly, you get all the titles
    var allTitles = document.getElementById("ires").getElementsByTagName("h3");
    for(var getTitle of allTitles ) { // For each title, we get the link.
        console.log(getTitle.getElementsByTagName("a")[0].href) 
    }
    
    然后,您只需模拟单击导航即可

    var navLinks = document.getElementById("nav").getElementsByTagName("a");
    navLinks [navLinks.length-1].click() // Click on the "Next" button.
    
    适用于所有网站

    // Firstly, you get all the titles
    var allTitles = document.getElementById("ires").getElementsByTagName("h3");
    for(var getTitle of allTitles ) { // For each title, we get the link.
        console.log(getTitle.getElementsByTagName("a")[0].href) 
    }
    
    如果要获取所有链接,只需执行相同的命令,获取所需的div ID ID ID您只需要页面的一部分,然后使用
    getElementsByTagName(“a”)

    您可以了解如何使用XHR或其他工具发出原始AJAX请求

    谷歌上有一个简单的例子:

    // jQuery
    $.get('//example.com', function (data) {
      // code
    })
    
    // Vanilla
    var httpRequest = new XMLHttpRequest()
    httpRequest.onreadystatechange = function (data) {
      // code
    }
    httpRequest.open('GET', url)
    httpRequest.send()