parent
e4e168214c
commit
debd4d2c85
@ -0,0 +1,63 @@
|
||||
from selenium.webdriver import Chrome
|
||||
from selenium.webdriver.common.by import By
|
||||
from selenium.webdriver.chrome.options import Options
|
||||
from selenium.webdriver.support.select import Select
|
||||
import time
|
||||
from lxml import etree
|
||||
import csv
|
||||
# 可以设置无头浏览器
|
||||
# opt= Options()
|
||||
# opt.add_experimental_option("detach", True)
|
||||
# opt.add_argument('--headless')
|
||||
for _ in range(1):
|
||||
url = 'https://labsafe.hnu.edu.cn/labexam/index.php'
|
||||
safari = Chrome()
|
||||
safari.get(url)
|
||||
time.sleep(1)
|
||||
el = safari.find_element(By.XPATH,'//*[@id="formExam"]/div/a/input')
|
||||
el.click()
|
||||
username = '202311020126'
|
||||
password = 'Hnu_hzy0507'
|
||||
safari.find_element(By.XPATH,'//*[@id="username"]').send_keys(username)
|
||||
time.sleep(1)
|
||||
safari.find_element(By.XPATH,'//*[@id="password"]').send_keys(password)
|
||||
time.sleep(1)
|
||||
safari.find_element(By.XPATH,'//*[@id="dl"]').click()
|
||||
time.sleep(3)
|
||||
safari.find_element(By.XPATH,'//*[@id="article"]/div[3]/div[2]/ul/a[1]/li').click()
|
||||
time.sleep(1)
|
||||
safari.find_element(By.XPATH,'//*[@id="tkqcl"]/ul/li/label').click()
|
||||
time.sleep(1)
|
||||
safari.find_element(By.XPATH,'//*[@id="article"]/div[4]/div[2]/div/a[1]').click()
|
||||
time.sleep(1)
|
||||
#定位到下拉列表
|
||||
sel = safari.find_element(By.XPATH,'//*[@id="runpage"]')
|
||||
# 包装下拉列表
|
||||
sel = Select(sel)
|
||||
sel.select_by_visible_text('10')
|
||||
time.sleep(1)
|
||||
safari.find_element(By.XPATH,'//*[@id="dati"]/div[11]/input[2]').click()
|
||||
time.sleep(1)
|
||||
#按一下回车提交答案
|
||||
alert = safari.switch_to.alert
|
||||
alert.accept()
|
||||
safari.find_element(By.XPATH,'/html/body/div[2]/div[2]/div[2]/div[3]/ul/li[1]/a').click()
|
||||
#获得答案源代码
|
||||
pagetxt = etree.HTML(safari.page_source)
|
||||
for i in range(3,101):
|
||||
quiztxt = pagetxt.xpath(f'/html/body/div[2]/div[2]/div[2]/div[{i}]/strong/text()')
|
||||
answertxt = pagetxt.xpath(f'/html/body/div[2]/div[2]/div[2]/div[{i}]/text()')[-1]
|
||||
answertxt=list(str(answertxt).strip())
|
||||
tureanswer=''
|
||||
if answertxt[-1].isupper() == True:
|
||||
tureanswer = answertxt[-1]
|
||||
else:
|
||||
tureanswer = ''.join(answertxt[::-1][0:2:][::-1])
|
||||
if quiztxt == []:
|
||||
continue
|
||||
else:
|
||||
quiztxt = quiztxt[0]
|
||||
with open('quizbase.csv', mode='a+') as quz:
|
||||
csvwriter=csv.writer(quz)
|
||||
csvwriter.writerow([quiztxt,tureanswer])
|
||||
safari.close()
|
Loading…
Reference in new issue