在powershell里运行:python upload.py username password picturename(后面三个是程序中会用到的变量)
# coding: utf-8 import sys from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC browser = webdriver.Chrome() webdrive = browser.get("http://www.douban.com")#"http:\\"is necessary. try: element = WebDriverWait(webdrive,20).until(EC.presence_of_element_located((By.ID,'form_email'))) except: print "fail to load!" def login(): browser.find_element_by_id('form_email').send_keys(sys.argv[1]) browser.find_element_by_id('form_password').send_keys(sys.argv[2]) captcha = raw_input("please enter captcha!\n")#need to recognize captcha by the user. browser.find_element_by_id("captcha_field").send_keys(captcha) browser.find_element_by_class_name('bn-submit').click() def uploadpic():#需要把图片放在桌面上。只支持单个文件的上传。 browser.implicitly_wait(5) browser.find_element_by_link_text(u'我的豆瓣').click() browser.implicitly_wait(5) browser.find_element_by_partial_link_text(u'发照片').click() browser.implicitly_wait(5) browser.find_element_by_xpath('//*[@id="btn_holder"]/input').send_keys('C:\Users\Administrator.USER-20150822PS\Desktop\%s.jpg' % sys.argv[3]) browser.implicitly_wait(20) browser.find_element_by_xpath('//*[@id="sel-opt-1634248510"]').click() browser.implicitly_wait(5) browser.find_element_by_xpath('//*[@id="uploader-setting"]/div[2]/span/input').click() browser.implicitly_wait(10) login() uploadpic()