首頁>技術>

前言

python + selenium 實現

一、這樣評課危險嗎?

Selenium是一個用於測試網站的自動化測試工具,支援各種瀏覽器包括Chrome、Firefox、Safari等主流介面瀏覽器,同時也支援phantomJS無介面瀏覽器。 因此此指令碼完全模擬手動操作,請放心使用。

二、使用步驟1.配置python + selenium環境

安裝selenium:開啟windows的cmd框,輸入

python指令碼檔案下載

get_evaluation_done.py

下載介面有使用說明,需要研究程式碼的請往下看

2.指令碼程式碼
#coding:utf8from selenium import webdriverimport timefrom selenium.webdriver.remote.webelement import WebElementclass evaluate:    def __int__(self):        self.driver = webdriver.Chrome()    def login(self,id,pwd):                self.url="http://202.204.105.22/academic/index_new.jsp"        self.brower =webdriver.Chrome()        brower=self.brower        page =brower.get(self.url)        username=brower.find_element_by_xpath('/html/body/form/div[2]/div/div[3]/input')        password=brower.find_element_by_xpath('/html/body/form/div[2]/div/div[4]/input')        username.send_keys(id)        password.send_keys(pwd)        time.sleep(7) #在這7秒內要完成輸入驗證碼! 不然會報錯。請重開指令碼直至驗證碼輸入正確 自動登入為止        brower.find_element_by_xpath('/html/body/form/div[2]/div/div[7]/input').click()        time.sleep(2)                iframe = brower.find_element_by_tag_name("iframe")        brower.switch_to.frame(iframe)#跳入第一層iframe中        brower.switch_to.frame("menuFrame")#跳入二(1)frame中        #不可連續呼叫進入兩層 會報錯        brower.find_element_by_xpath('//*[@id="li25"]/a').click()#進入評課介面        brower.switch_to_default_content()#釋放全部進入的frame層        brower.switch_to.frame(iframe)#跳入第一層iframe中        brower.switch_to.frame("mainFrame")#跳入二(2)frame中        time.sleep(0.5)        eva_table1 = brower.find_element_by_xpath('/html/body/center/table[2]/tbody')#評價表1的tbody        rows = eva_table1.find_elements_by_class_name('infolist_common')#獲取所選所有課程元素        course_numbers = len(rows)        #print(course_numbers)        temp1 = 2        while course_numbers > 0:#遍歷課程列表            brower.find_element_by_xpath('/html/body/center/table[2]/tbody/tr['+ str(temp1) +']/td[4]/a').click()            time.sleep(1)            temp1 += 1            course_numbers -= 1            temp2 = 2            eva_numbers = 20 #評價條數            while eva_numbers > 0:#遍歷評價選項列表                 brower.find_element_by_xpath('/html/body/center/table[2]/tbody/tr/td/form/table[1]/tbody/tr['+ str(temp2) +']/td[3]/input[5]').click()                 temp2 += 1                 eva_numbers -= 1            brower.find_element_by_xpath('/html/body/center/table[2]/tbody/tr/td/form/table[2]/tbody/tr/td/input[1]').click()            time.sleep(1)            # 獲取alert對話方塊            dig_alert = brower.switch_to.alert            time.sleep(1)            # alert對話方塊屬於警告對話方塊,我們這裡只能接受彈窗            dig_alert.accept()            time.sleep(3)        brower.findif __name__ == '__main__':    print("請輸入學號(10位):")    username = input()    print("請輸入密碼:")    pwd = input()    pj = evaluate()    pj.login(username,pwd)

11
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • C++語言有很多經典教材,讀完C++ Primer會程式設計嗎?