基于selenium腳本預(yù)約某不入流大學(xué)實驗室儀器
# 導(dǎo)入的庫
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys

# selenium優(yōu)化
options = webdriver.EdgeOptions()
options.add_argument('headless')
options.add_argument('--disable-gpu')

# 打開實驗室主頁
sta = time.perf_counter()
driver = webdriver.Edge(options=options)
driver.get("http://noobuniversity.edu.cn")

# 登陸驗證
driver.find_element(By.XPATH, value="/html/body/form/div[4]/div/div[1]/div/div/a[1]").click()
driver.find_element(By.ID, value="username").send_keys("baba")
driver.find_element(By.ID, value="password").send_keys("erzi")
driver.find_element(By.CLASS_NAME, value="login-button").click()

# 切換窗口
driver.find_element(By.XPATH, value="/html/body/form/div[4]/div/div[5]/div[2]/div[2]/div/div[2]/a").click()
handles = driver.window_handles
driver.switch_to.window(handles[1])

# 搜索儀器
inp = driver.find_element(By.XPATH, value="/html/body/form/div[4]/div[1]/div[4]/div/div[1]/table/tbody/tr[2]/td[2]/table/tbody/tr[1]/td[4]/input")
webdriver.ActionChains(driver).move_to_element(inp).click().send_keys("掃描").send_keys(Keys.ENTER).perform()
driver.find_element(By.XPATH, value="/html/body/form/div[4]/div[1]/div[4]/div/div[2]/table/tbody/tr[3]/td[2]/div/div[1]/ul/li[2]/div[2]/span[2]/a[2]").click()

# 填寫預(yù)約時間和信息
driver.switch_to.frame("Iframe2")
# 對于22日此處可以改為[4]
driver.find_element(By.XPATH, value="/html/body/form/div[3]/div/div/div/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/ul[2]/li[2]/div/table/tbody/tr[3]/td/table/tbody/tr[5]/td[3]").click()
driver.find_element(By.XPATH, value="/html/body/form/table[2]/tbody/tr[2]/td[2]/div/table/tbody/tr[2]/td/span").click()
driver.find_element(By.ID, value="10").click()
driver.find_element(By.ID, value="11").click()
driver.find_element(By.ID, value="12").click()
driver.find_element(By.ID, value="13").click()
driver.find_element(By.ID, value="14").click()
driver.find_element(By.ID, value="15").click()
driver.find_element(By.XPATH, value="/html/body/form/div[3]/span/a").click()
driver.find_element(By.ID, value="tbmeasurename").send_keys("1")
driver.find_element(By.ID, value="tbQuantity").clear()
driver.find_element(By.ID, value="tbQuantity").send_keys("1")
driver.find_element(By.ID, value="tbmeasurecolor").send_keys("1")
driver.find_element(By.ID, value="tbChemical").send_keys("1")
driver.find_element(By.ID, value="txtMemo").send_keys("1")
driver.find_element(By.NAME, value="Button2").click()

# 退出,并計時
driver.quit()
end = time.perf_counter()
print(end-sta)

# 腳本用時可以做更加詳細的優(yōu)化

私貨:垃圾學(xué)校給爺爬?。?!
