带有cookie保存的Python登录脚本

时间:2015-12-23 10:29:33

标签: python cookies autologin

大家好,祝圣诞快乐

我不是python的专家,也不是开发人员,但我正在尝试制作一个python脚本,使用我的凭据自动连接到Adidas网站并保存cookie以备将来使用。

我已设法通过启动浏览器进行连接,但我不知道如何以静默方式执行此操作(不显示浏览器页面)。

请帮助我完成这项任务。

谢谢

以下是代码:



import mechanize
import urllib
from urllib import urlopen
import cookielib
import BeautifulSoup
import html2text
import re
import sys
import StringIO
from urllib2 import HTTPError
import os
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import requests
import smtplib
from email.mime.text import MIMEText
import pickle

##########################################################

adidasLoginPage = "https://www.adidas.com/us/myaccount-create-or-login"
sleepSeconds = 2
emailUsername = "TOTO@toto.com"
emailPassword = "mypassword"
global threeDigit

##########################################################

driver = webdriver.Chrome()

def login():

    drivers.get(adidasLoginPage)
    time.sleep(sleepSeconds)

    driver.switch_to.frame(driver.find_element_by_id("loginaccountframe"))
    emailBox = driver.find_element_by_id("username")
    emailBox.send_keys(emailUsername)

    passwordBox = driver.find_element_by_id("password")
    passwordBox.send_keys(emailPassword)
    time.sleep(sleepSeconds)

    loginButton = driver.find_element_by_id("signinSubmit")
    loginButton.click()

    pickle.dump(driver.get_cookies(), open("cookies.pkl","wb"))

login()
###############################################################




1 个答案:

答案 0 :(得分:1)

driver = webdriver.Chrome()

您正在使用Chrome webdriver,因此selenium会打开Chrome以加载该页面。您可以使用像PhantomJS这样的无头浏览器来执行此操作,而无需打开任何浏览器。我认为这就是你想要的。

driver = webdriver.PhantomJS()

您当然需要为此安装PhantomJS。

在OS X上,我使用Homebrew安装PhantomJS:

brew install phantomjs

请参阅PhantomJS文档以在您的操作系统上安装。