from selenium import webdriver
from selenium.webdriver.common.by import By
import time

PATH = "C:\Program Files (x86)\chromedriver_win32\chromedriver.exe"
driver = webdriver.Chrome(PATH)

from selenium.webdriver.common.keys import Keys

def googleScholarSearch(searchText, numberOfArticles):
    driver.maximize_window()
    driver.get("https://scholar.google.com/")

    searchBar = driver.find_element(By.NAME, "q")

    searchBar.send_keys(searchText)
    searchBar.send_keys(Keys.RETURN)

    results = []
    articleLinks = [ ]

    nextPagePath = '/html/body/div/div[10]/div[2]/div[3]/div[3]/div[2]/center/table/tbody/tr/td[12]/a/span'

    while len(articleLinks) < numberOfArticles:
        results = driver.find_elements(By.TAG_NAME, "a")
        for element in results:
            link = element.get_attribute("href")
            if (link != None and 
                ("google" not in link or "books.google" in link) 
                and "https://" in link):
                articleLinks.append(link)
        nextButton = driver.find_element(By.XPATH, nextPagePath)
        nextButton.click()
    
    for i in range(len(articleLinks)):
        driver.execute_script("window.open('');")
        driver.switch_to.window(driver.window_handles[i + 1])
        driver.get(articleLinks[i])

#googleScholarSearch("search term", 20)

