Пример #1
0
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
Пример #2
0
    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()
Пример #3
0
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
Пример #4
0
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))