課程滿意度
=====
###### tags : `Python`
1.未來方向:
製作表單,讓使用者填寫,再讓程式自動跑,
結合html,flask
import
===
```python=
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
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
import time
```
```python=
driver = webdriver.Chrome("C:\\chromedriver.exe")
driver.get('https://webaps.nuk.edu.tw/inquiry_student/User_Login.aspx')
username = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.NAME, 'txtBox_Account'))
)
password = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.NAME, 'txtBox_Password'))
)
login = driver.find_element_by_xpath('//*[@id="btn_login"]')
username.clear()
password.clear()
username.send_keys('userid')
password.send_keys('pwd')
login.click()
# print(driver.page_source)
# 從原本的網頁登入後,顯示的是frame視窗,所以要切到這個網頁,才有資料
driver.get('https://webaps.nuk.edu.tw/inquiry_student/InquiryHead.aspx')
option = Select(driver.find_element_by_name('ConoDDList'))
time.sleep(1)
# selenium 爬 value
List1 = []
for i in range(1, 20):
try:
# driver.find_elements_by_tag_name('option')[i] != None
col = driver.find_elements_by_tag_name('option')[i]
value = col.get_attribute("value")
print(value)
List1.append(value)
except:
break
# 選 課
for i in List1:
option.select_by_value(i)
# print(i)
enter = driver.find_element_by_xpath('//*[@id="btnConfirm"]')
enter.click()
# 填表單
try:
driver.switch_to.window(driver.window_handles[1])
click1 = driver.find_element_by_xpath('//*[@id="S1,5"]')
click1.click()
choose = driver.execute_script('document.getElementById("S1,5").checked = true')
# 第一頁
try:
choose = driver.execute_script('document.getElementById("S2,2").checked = true')
choose = driver.execute_script('document.getElementById("S3,5").checked = true')
choose = driver.execute_script('document.getElementById("R1,5").checked = true')
choose = driver.execute_script('document.getElementById("R2,5").checked = true')
choose = driver.execute_script('document.getElementById("R3,5").checked = true')
choose = driver.execute_script('document.getElementById("R4,5").checked = true')
choose = driver.execute_script('document.getElementById("R5,5").checked = true')
choose = driver.execute_script('document.getElementById("R6,5").checked = true')
choose = driver.execute_script('document.getElementById("R7,5").checked = true')
choose = driver.execute_script('document.getElementById("R8,5").checked = true')
choose = driver.execute_script('document.getElementById("R9,5").checked = true')
choose = driver.execute_script('document.getElementById("R10,5").checked = true')
choose = driver.execute_script('document.getElementById("ctl14_0").checked = true')
choose = driver.execute_script('document.getElementById("ctl15_0").checked = true')
choose = driver.execute_script('document.getElementById("ctl16_0").checked = true')
choose = driver.execute_script('document.getElementById("ctl17_0").checked = true')
try:
choose = driver.execute_script('document.getElementById("ctl18_0").checked = true')
try:
choose = driver.execute_script('document.getElementById("ctl19_0").checked = true')
try:
choose = driver.execute_script('document.getElementById("ctl20_0").checked = true')
try:
choose = driver.execute_script('document.getElementById("ctl21_0").checked = true')
try:
choose = driver.execute_script('document.getElementById("ctl22_0").checked = true')
submit = driver.find_element_by_xpath('//*[@id="btnConfirm"]')
submit.click()
except:
submit = driver.find_element_by_xpath('//*[@id="btnConfirm"]')
submit.click()
except:
submit = driver.find_element_by_xpath('//*[@id="btnConfirm"]')
submit.click()
except:
submit = driver.find_element_by_xpath('//*[@id="btnConfirm"]')
submit.click()
except:
submit = driver.find_element_by_xpath('//*[@id="btnConfirm"]')
submit.click()
except:
submit = driver.find_element_by_xpath('//*[@id="btnConfirm"]')
submit.click()
submit = driver.find_element_by_xpath('//*[@id="btnConfirm"]')
submit.click()
# 第一頁填完 判斷有沒有第二頁
try:
choose = driver.execute_script('document.getElementById("S1,5").checked = true')
choose = driver.execute_script('document.getElementById("S2,5").checked = true')
choose = driver.execute_script('document.getElementById("R1,5").checked = true')
choose = driver.execute_script('document.getElementById("R2,5").checked = true')
choose = driver.execute_script('document.getElementById("R3,5").checked = true')
choose = driver.execute_script('document.getElementById("R4,5").checked = true')
submit = driver.find_element_by_xpath('//*[@id="btnConfirm"]')
submit.click()
driver.switch_to.window(driver.window_handles[0])
except:
driver.switch_to.window(driver.window_handles[0])
# 第二頁
except:
driver.get('https://webaps.nuk.edu.tw/inquiry_student/InquiryDataTA_C.aspx')
click1 = driver.find_element_by_xpath('//*[@id="S1,5"]')
click1.click()
click1 = driver.find_element_by_xpath('//*[@id="S2,5"]')
click1.click()
click1 = driver.find_element_by_xpath('//*[@id="R1,5"]')
click1.click()
click1 = driver.find_element_by_xpath('//*[@id="R2,5"]')
click1.click()
click1 = driver.find_element_by_xpath('//*[@id="R3,5"]')
click1.click()
click1 = driver.find_element_by_xpath('//*[@id="R4,5"]')
click1.click()
submit = driver.find_element_by_xpath('//*[@id="btnConfirm"]')
submit.click()
driver.switch_to.window(driver.window_handles[0])
except:
driver.switch_to.window(driver.window_handles[0])
check = driver.find_element_by_xpath('//*[@id="btnQueryData"]')
check.click()
time.sleep(5)
driver.quit()
```