Ejemplo n.º 1
0
def driver_to_requests(driver: webdriver) -> requests.sessions.Session:
    cookies = driver.get_cookies()
    driver.close()
    session = requests.Session()
    for cookie in cookies:
        session.cookies.set(cookie["name"], cookie["value"])
    return session
Ejemplo n.º 2
0
def login(driver: webdriver, username: str, password: str) -> object:
    # Load page
    driver.get("https://www.instagram.com/accounts/login/")

    # Wait for 2FA or Profile link to appear
    WebDriverWait(driver, 10).until(
        EC.presence_of_element_located(
            (By.CSS_SELECTOR, "button[type='submit']")))

    # Login
    driver.find_element_by_css_selector("input[name='username']").send_keys(
        username)
    driver.find_element_by_css_selector("input[name='password']").send_keys(
        password)
    driver.find_element_by_css_selector("button[type='submit']").click()

    # Wait for 2FA or Profile link to appear
    WebDriverWait(driver, 30).until(
        EC.presence_of_element_located(
            (By.CSS_SELECTOR, "a span[aria-label='Profile']")))

    cookies = driver.get_cookies()

    pickle.dump(cookies, open(f"{COOKIES_PATH}/instagram-cookies.pkl", "wb"))
    return cookies
Ejemplo n.º 3
0
def login(user: User, enel_session: EnelMedSession, driver: webdriver) -> int:
    driver.get(LOG_IN_URL)
    all_cookies = driver.get_cookies()
    driver.close()
    cookies_str = create_cookies_header(all_cookies)
    enel_session.headers['cookie'] = cookies_str
    payload = {
        "Login": user.username,
        "Password": user.password,
        "IsAcceptedRule": "true"
    }
    response = enel_session.session.post(LOG_IN_URL,
                                         headers=enel_session.headers,
                                         data=payload)
    print(response.text)
Ejemplo n.º 4
0
def _selenium_operations(driver: webdriver, user_name: str,
                         user_password: str):
    # 登录界面
    Util.info_print('登录界面', 3)
    driver.get('https://users.nexusmods.com/auth/sign_in')
    Util.info_print('请在页面中登录N网账户', 3)
    Util.info_print('如果设置在conf.ini的账户密码正确,这个过程会自动完成。', 3)
    Util.info_print('如果不正确,请手动输入账户密码', 3)
    Util.info_print('每一步操作都设置了一定的的可行时间,超过时间程序就会退出', 3)

    wait = WebDriverWait(driver, 300)
    username_inputer = wait.until(
        presence_of_element_located((By.ID, "user_login")))
    userpassword_inputer = wait.until(
        presence_of_element_located((By.ID, "password")))
    commit_button = wait.until(
        presence_of_element_located((By.XPATH, '//input[@type="submit"]')))

    username_inputer.send_keys(user_name)
    userpassword_inputer.send_keys(user_password)
    commit_button.click()

    wait.until(EC.url_changes)
    # 欢迎界面

    index_a = wait.until(
        EC.presence_of_element_located(
            (By.XPATH, '//div[@class="links"]/div[@class="left-link"]/a[1]')))
    index_a.click()
    Util.info_print('等待进入首页,请勿操作', 3)

    # 返回首页后
    # Util.info_print('等待从首页中获取cookies', 3)
    wait.until(
        EC.presence_of_element_located(
            (By.CSS_SELECTOR, ".intro > h1:nth-child(1)")))
    nexus_cookies_list = driver.get_cookies()
    driver.quit()

    nexus_cookies = dict()
    for cookie in nexus_cookies_list:
        nexus_cookies[cookie['name']] = cookie['value']

    return nexus_cookies
def _selenium_operations(driver: webdriver, user_name: str,
                         user_password: str):
    # 登录界面
    _info_print('Coo_5')
    driver.get('https://users.nexusmods.com/auth/sign_in')
    _info_print('Coo_6')
    _info_print('Coo_7')
    _info_print('Coo_8')
    _info_print('Coo_9')

    wait = WebDriverWait(driver, 300)
    username_inputer = wait.until(
        presence_of_element_located((By.ID, "user_login")))
    userpassword_inputer = wait.until(
        presence_of_element_located((By.ID, "password")))
    commit_button = wait.until(
        presence_of_element_located((By.XPATH, '//input[@type="submit"]')))

    username_inputer.send_keys(user_name)
    userpassword_inputer.send_keys(user_password)
    commit_button.click()

    wait.until(EC.url_changes)
    # 欢迎界面

    index_a = wait.until(
        EC.presence_of_element_located(
            (By.XPATH, '//div[@class="links"]/div[@class="left-link"]/a[1]')))
    index_a.click()
    _info_print('Coo_10')

    # 返回首页后
    # Util.info_print('等待从首页中获取cookies', 3)
    wait.until(
        EC.presence_of_element_located(
            (By.CSS_SELECTOR, ".intro > h1:nth-child(1)")))
    nexus_cookies_list = driver.get_cookies()
    driver.quit()

    nexus_cookies = dict()
    for cookie in nexus_cookies_list:
        nexus_cookies[cookie['name']] = cookie['value']

    return nexus_cookies