def up(name, ema, pas): browser = TorBrowserDriver(tbb_dir, tor_cfg=cm.USE_STEM) # connect to site browser.load_url( "https://www.udemy.com/join/signup-popup/?locale=en_US&response_type=html&next=https%3A%2F%2Fwww.udemy.com%2F", wait_on_page=5, wait_for_page_body=True) # find link button #reg_el = browser.find_element_by_link_text("Sign up") # https://www.udemy.com/join/login-popup/?locale=en_US&response_type=html&next=https%3A%2F%2Fwww.udemy.com%2F # click # reg_el.click() # enter full name full_name = browser.find_element_by_id("id_fullname") full_name.send_keys(name) # enter email email_el = browser.find_element_by_id("email--1") email_el.send_keys(ema) # enter password pass_el = browser.find_element_by_id("password") pass_el.send_keys(pas) # Scroll browser.execute_script("window.scrollBy(0,200)") browser.execute_script( 'document.getElementById("id_subscribe_to_emails").checked = false') # find submit link sub_el = browser.find_element_by_id('submit-id-submit') # click submit sub_el.click() sleep(1) # check if 'occupation' in browser.current_url: # find submit link sleep(3) try: browser.execute_script( 'document.getElementsByClassName("ot-sdk-container").sytle.display = "none"' ) except: pass cl = browser.find_elements_by_class_name("udlite-btn") try: cl[0].click() except: browser.execute_script( 'document.getElementsByClassName("ot-sdk-container").sytle.display = "none"' ) cl[0].click() sleep(3) browser.close() return True if '=1' in browser.current_url: browser.close() return True
test_urls = url_file.readlines() driver = TorBrowserDriver(tor_dir) #, pref_dict=rfp) driver.set_page_load_timeout(60) cached = set() # do 10 runs while True: random.shuffle(test_urls) for i, url in enumerate(test_urls): try: # request url from list print("Fetching " + str(url), end='') driver.get(url) # pull window.performance.timing after loading the page and add information about url and number of run perf_timings = driver.execute_script( "return window.performance.timing") perf_timings['timestamp'] = datetime.now() perf_timings['path'] = tor_dir perf_timings['cached'] = str(url in cached) perf_timings['url'] = str(url) perf_timings['error'] = 'NONE' #print(str(set(perf_timings.keys())-set(colList))) #TODO Put in Database insertDict(sql, perf_timings) cached.add(url) except Exception as E: # what to do in case that an exception is thrown (which happens usually upon page load timeout) # also pull data and store it to the results file perf_timings = driver.execute_script( "return window.performance.timing") perf_timings['timestamp'] = datetime.now()
def loggin(ema, pas): try: browser = TorBrowserDriver(tbb_dir, tor_cfg=cm.USE_STEM) except: # selenium.common.exceptions.WebDriverException: Message: Access is denied. (os error 5) # mozilla is updating print('probably updating sleep 30') sleep(30) browser = TorBrowserDriver(tbb_dir, tor_cfg=cm.USE_STEM) # connect to site try: browser.load_url( "https://www.udemy.com/join/login-popup/?locale=en_US&response_type=html&next=https%3A%2F%2Fwww.udemy.com%2F", wait_on_page=5, wait_for_page_body=True) except: # selenium.common.exceptions.NoSuchWindowException: Message: Browsing context has been discarded try: browser = TorBrowserDriver(tbb_dir, tor_cfg=cm.USE_STEM) except: # selenium.common.exceptions.WebDriverException: Message: Access is denied. (os error 5) # mozilla is updating print('probably updating sleep 30') sleep(30) browser = TorBrowserDriver(tbb_dir, tor_cfg=cm.USE_STEM) browser.load_url( "https://www.udemy.com/join/login-popup/?locale=en_US&response_type=html&next=https%3A%2F%2Fwww.udemy.com%2F", wait_on_page=5, wait_for_page_body=True) # reg_el.click() # maximise browser.maximize_window() # Scroll browser.execute_script("window.scrollTo(0,100)") try: email_el = browser.find_element_by_id("email--1") except: sleep(10) try: email_el = browser.find_element_by_id("email--1") except: return False email_el.send_keys(ema) # enter password pass_el = browser.find_element_by_id("id_password") pass_el.send_keys(pas) # find submit link sub_el = browser.find_element_by_id('submit-id-submit') # click submit sub_el.click() sleep(2) # check try: avatar = browser.find_element_by_id('u711-popover-trigger--18') except: avatar = None if avatar: return browser elif 'udemy.com' in browser.current_url: return browser else: return None
driver = TorBrowserDriver(tor_dir) #, pref_dict=rfp) driver.set_page_load_timeout(15) # do 10 runs uses = 0 notUses = 0 inconclusive = 0 for i, url in enumerate(test_urls): try: # request url from list #print("Fetching " + str(url),end='') url = 'https://' + url driver.get(url) # pull window.performance.timing after loading the page and add information about url and number of run perf_timings = driver.execute_script( "return window.performance.getEntries()") #print(perf_timings) entryTypes = set(map(lambda x: x['entryType'], perf_timings)) if 'mark' in entryTypes or 'measure' in entryTypes: print(url + ' uses mark/measure') uses += 1 else: print(url + ' does not use mark/measure') notUses += 1 #Put in Database(url) except Exception as E: # what to do in case that an exception is thrown (which happens usually upon page load timeout) # also pull data and store it to the results file print("Failed to load page " + str(url) + ' Error: ' + str(E)) perf_timings = driver.execute_script( "return window.performance.getEntries()") entryTypes = set(map(lambda x: x['entryType'], perf_timings))