#!/usr/bin/env python # coding: utf-8 # # `nbgallery` Bulk Uploader # # Quick hack to automate the uploading of notebooks to `nbgallery`. # # Uses `selenium` (I couldn't get `mechanize` / `mechanical soup` to work?). # In[1]: from selenium import webdriver # In[48]: driver = webdriver.Chrome() driver.get("http://localhost:3000/") # ## Login # In[60]: driver.find_element_by_id("gearDropdown").click() element = driver.find_element_by_id("user_email") # In[61]: element.click() element.clear() element.send_keys(NBGALLERY_EMAIL) # In[64]: element = driver.find_element_by_id("user_password") element.clear() element.send_keys(NBGALLERY_PASSWORD) element.click() # In[65]: driver.find_element_by_xpath("//input[@value='Login']").click() # ## Upload Part 1 # In[66]: driver.find_element_by_id("uploadModalButton").click() # In[67]: driver.find_element_by_id("uploadFile").send_keys("/Users/tonyhirst/notebooks/Untitled.ipynb"); # In[69]: driver.find_element_by_xpath('//*[@id="uploadFileForm"]/div[3]/div/div/label/input').click() # In[70]: driver.find_element_by_id("uploadFileSubmit").click() # ## Upload Part 2 # In[71]: element = driver.find_element_by_id("stageTitle") element.click() element.send_keys("My title") # In[72]: element = driver.find_element_by_id("stageDescription") element.click() element.send_keys("My description") # In[75]: element = driver.find_element_by_id("stageTags-tokenfield") element.click() element.send_keys("tag1,tag2,") #need the final comma to set it? # In[ ]: #optional #driver.find_element_by_id("stagePrivate").click() # In[76]: driver.find_element_by_xpath('//*[@id="stageForm"]/div[9]/div/div/label/input').click() # In[77]: driver.find_element_by_id("stageSubmit").click() # In[ ]: