# -*- coding: utf-8 -*-
"""
Created on Wed Jan 1 23:39:34 2020
@author: billie
程序運行環境要求:
-python3
-selenium(python第三方庫,可用pip安裝)
-chromedriver(配置方法可自行百度,需配置對應chrome版本的chromedriver)
網絡環境要求:
-學校內網
-----------------具備上述環境要求之后才可成功運行下面的程序,不想配置的話找我幫你選吧--------------------
"""
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys
class Spider():
def spider(self,url,name,passwd,className):
try:
# options = Options()
# options.add_argument('--headless')
# options.add_argument('--disable-gpu')
# options = webdriver.ChromeOptions()
# options.add_argument('--ignore-certificate-errors')
# 建立一個chrome對象
driver = webdriver.Chrome()#chrome_options=options
driver.get(url)
# #-------------------------深信息官網-------------------------
# # 執行頁面向下滑至底部的動作
# driver.execute_script("window.scrollTo(0,document.body.scrollHeight);")
# new=driver.find_element_by_xpath('/html/body/div[7]/div/div[1]/ul/li[2]/p[7]/a')
# new.click()
#---------------------------登錄頁面-------------------------------
nameInput=driver.find_element_by_id("yhm")#獲取用戶名輸入框
nameInput.send_keys(name)
passwdInput=driver.find_element_by_id("mm")#獲取密碼輸入框
passwdInput.send_keys(passwd)
login=driver.find_element_by_id("dl")#獲取登錄按鈕
login.click()#點擊登錄按鈕
#-----------------------教學綜合信息服務平台頁面---------------------
# time.sleep(1)
drop=driver.find_element_by_xpath('//*[@id="cdNav"]/ul/li[3]')#獲取‘選課’下拉菜單
drop.click()
selectClass=driver.find_element_by_xpath('//*[@id="cdNav"]/ul/li[3]/ul/li[2]/a')#獲取‘自主選課’鏈接
selectClass.click()
#----------------------------選課頁面------------------------------
# 切換窗口到新打開的頁面
#driver.current_window_handle #當前網頁窗口
n = driver.window_handles #獲取當前頁所有窗口句柄
driver.switch_to.window(n[1])#切換到第二個窗口
search=driver.find_element_by_xpath('//*[@id="searchBox"]/div/div[1]/div/div/div/div/input')#獲取搜索輸入框
search.send_keys(className)#發送輸入信息
button=driver.find_element_by_xpath('//*[@id="searchBox"]/div/div[1]/div/div/div/div/span/button[1]')#獲取查詢按鈕
button.click()
time.sleep(100)
except Exception as err:
print(err)
url="http://xjwgl.sziit.edu.cn/xtgl/login_slogin.html?language=zh_CN&_t=1577806337435"
billie=Spider()
#在這里輸入你的學號
name="18------"
#在這里輸入你的登錄密碼
passwd=""
#在這里輸入你想選的課的名稱,比如數學建模,程序進入選課頁面之后會自動幫你搜索這門課,沒有想選的課的話也可留空
className=""
billie.spider(url,name,passwd,className)