2016-11-10 84 views
1
  1. 我很好奇,如果有可能與純(香草)的JavaScript代碼,輸入到瀏覽器控制檯,提取所有鏈接此(第一個)頁面,然後模擬點擊進入另一個頁面,提取鏈接並轉到第三頁。 提取鏈接意味着將它們寫入控制檯。從控制檯純JavaScript:從頁面提取鏈接,模仿點擊到另一個頁面,並做同樣的

  2. 的同樣的問題1,但鏈接到另一個頁面,使只是一個AJAX調用更新頁面的一部分,並沒有真正去到另一頁。

P.S.所有鏈接都屬於一個域。

任何想法如何做到這一點基於純粹的JavaScript?

作爲例子,如果你去谷歌和輸入一些字(「例如」),你便可以打開控制檯,然後輸入

var array = []; 
var links = document.getElementsByTagName("cite"); 
for(var i=0; i<links.length; i++) { 
    array.push(links[i].innerHTML); 
}; 
console.log(array); 

顯示的URL的數組(有一些文字,但是這好)。

使用純javascript可以自動從頁面1到頁面3重複3次?

P.S.我實際上應該在上面的代碼中提取標籤,所以我標記爲「鏈接」。抱歉混淆(這不會改變問題)。

再次感謝您。

回答

2

如果你想要寫的所有鏈接到控制檯,你可以使用一個更具體的命令

FOR谷歌

// 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. 

所有網站

如果你想獲得的所有鏈接,只是做同樣的命令,搶你要ID的DIV 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() 
相關問題