Opening google search results simultaneously in new tabs in Chrome

JavaScript, often abbreviated as JS, is a high-level, interpreted programming language that conforms to the ECMAScript specification.
jQuery is a JavaScript library designed to simplify HTML DOM tree traversal and manipulation.

We can use them to do a wide range of things which we do manually and is tiresome.

Examples:

Note: On first run of the script a popup will come. We have to allow popups because Chrome wants to know if we want multiple tabs to be used or not. Then re-run the script.

allow popups

How to run:
Search for anything on Google. On Google search results page paste the script on the developer tools console window and press Enter and see the magic.

Let’s see the code:

filter_none

edit
close

play_arrow

link
brightness_4
code

// dynamically loading the jQuery library
javascript: var fileref = document.createElement('script');
fileref.setAttribute("type", "text/javascript");
fileref.setAttribute("src"
document.body.appendChild(fileref);
  
var arr = []; //this array will contain the links of google search results.
  
setTimeout(function() {  
// We are using setTimeout function so that                       
// jQuery library is loaded fully before running 
//rest part of the code
  
   // Accessing the DOM and using it to extract
   // links from the search results
    var count1 = $("div.bkWMgd").length;
    var j;
      
    // There are many div's with this class "div.bkWMgd" but we 
    // will be using only the div's which will be 
    // containing the search results links, 
    // so we have to filter out the div's by performing if-else.
  
    for (j = 0; j < count1; j++) {
        if ($("div.bkWMgd")[j].firstChild == null) { 
    // not using this section because it does not contain the links
            continue;
        } else if 
      ($("div.bkWMgd")[j].firstChild.className.toString().trim() === "srg") {
            // This div contains the serach result links
            var count2 = $("div.bkWMgd")[j].firstChild.children.length;
  
            var i;
            for (i = 0; i < count2; i++) {
                arr.push(
                    $("div.bkWMgd")[j].firstChild.children[i].children[0].
              firstChild.firstChild.firstChild.href.toString().trim());
          // inserting search results links into the array
            }
            count2 = 0;
            continue;
        } else if 
     ($("div.bkWMgd")[j].firstChild.innerHTML.toString().trim()==="Web results") {
        // This div also contains the search result links
  
            $("div.bkWMgd")[j].firstChild.remove();
  
            var count2 = $("div.bkWMgd")[j].firstChild.children.length;
            try {      // Handling error if encountered using try catch block
                var i;
                for (i = 0; i < count2; i++) {
                    arr.push(
                        $("div.bkWMgd")[j].firstChild.children[i].children[0].
              firstChild.firstChild.firstChild.href.toString().trim());
                } // inserting links into the array
                count2 = 0;
            } catch (err) {
                console.log('Error handled in: ', j + 'loop');
            }
        }
    }
}, 1000);
  
// opening multiple tabs with the links in the array
function open_win() {
    for (var i = 0; i < arr.length; i++) {
        console.log(arr[i]);
        window.open(arr[i]);
    }
}
  
// in 2.5 seconds multiple tabs will get 
// open with the search results links
setTimeout(function() {
    open_win();
}, 2500);  

chevron_right


Live results
Search results opened in mutiple tabs



My Personal Notes arrow_drop_up

Competitive Programmer, Full Stack Developer

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.