Skip to content

Instantly share code, notes, and snippets.

@taznica
Created June 7, 2016 10:55
Show Gist options
  • Save taznica/356f14e770ea86cf8f5b54e83ff0e7ef to your computer and use it in GitHub Desktop.
Save taznica/356f14e770ea86cf8f5b54e83ff0e7ef to your computer and use it in GitHub Desktop.
東北大のHPから成績取ってくるスクリプト
#!/usr/bin/env python
#coding:utf-8
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
import os
import time
URL = "https://www.srp.tohoku.ac.jp/"
USER_ID = "***"
PASSWORD = "***"
MATRIX = ["***.gif", "***.gif", "***.gif"]
driver = webdriver.PhantomJS()
#driver = webdriver.Firefox()
driver.get(URL)
user_id_elem = driver.find_element_by_name("twuser")
password_id_elem = driver.find_element_by_name("twpassword")
user_id_elem.send_keys(USER_ID)
password_id_elem.send_keys(PASSWORD)
password_id_elem.submit()
elems = driver.find_elements(By.CLASS_NAME, "input_imgdiv_class")
no = [-1] * len(MATRIX)
for i, elem in enumerate(elems):
print elem.value_of_css_property("background-image")
for j, mat in enumerate(MATRIX):
if mat == os.path.basename(elem.value_of_css_property("background-image")[4:-1]):
no[j] = i
for i in no:
elems[i].click()
driver.find_element_by_xpath('//*[@id="btnLogin"]').click()
WebDriverWait(driver, 10).until(lambda driver : driver.title == u"東北大学ポータルサイト")
driver.get("https://www.srp.tohoku.ac.jp/sa/top.do")
driver.find_element_by_name("userId").send_keys(USER_ID)
driver.find_element_by_name("password").send_keys(PASSWORD)
driver.find_element_by_name("password").submit()
driver.get("https://www.srp.tohoku.ac.jp/sa/wssrlstr.do?clearAccessData=true&kjnmnNo=29")
for eelem in driver.find_elements_by_class_name("column_odd") + driver.find_elements_by_class_name("column_even"):
#CSSセレクタなんて書けなかった
info = eelem.find_elements_by_tag_name("td")
if len(info) < 6:continue
name = info[0].text.strip()
grade = info[5].text.strip()
print name,grade
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment