欢迎光临散文网 会员登陆 & 注册

基于selenium脚本预约某不入流大学实验室仪器

2023-03-15 00:57 作者:芜湖小量化  | 我要投稿

# 导入的库
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优化
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()

# 填写预约时间和信息
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)

# 脚本用时可以做更加详细的优化

私货:垃圾学校给爷爬!!!


基于selenium脚本预约某不入流大学实验室仪器的评论 (共 条)

分享到微博请遵守国家法律