基于selenium自动化索引点击
def ans(q_i):
_click = False
if q_i <51 or q_i > 70:
_q = driver.find_element(By.XPATH, '/html/body/div[1]/div[2]/div/div/div/div/section/section/div[{}]/section/div[1]/div[1]/div/div/div/div/div/p'.format(q_i)).text
_q_class = driver.find_element(By.XPATH, '/html/body/div[1]/div[2]/div/div/div/div/section/section/div[{}]/section/div[1]/div[2]'.format(q_i)).text
else:
_q = driver.find_element(By.XPATH, '/html/body/div[1]/div[2]/div/div/div/div/section/section/div[{}]/div/div[1]/div[1]/div/div/div/div/div'.format(q_i)).text
_q_class = driver.find_element(By.XPATH, '/html/body/div[1]/div[2]/div/div/div/div/section/section/div[{}]/div/div[1]/div[2]'.format(q_i)).text
_a = A[Q.index(_q)] if _q in Q else A[Q.index(process.extractOne(_q, Q)[0])]
print(q_i, _a, _q, _q_class)
print(process.extract(_q, Q))
_q_a = []
if '单选题' in _q_class:
for e in driver.find_elements(By.XPATH, '/html/body/div[1]/div[2]/div/div/div/div/section/section/div[{}]/section/div[2]/div/label'.format(q_i)):
_q_a.append(e.text)
if e.text[0] in _a or _a in e.text:
print('click'+e.text)
_click = True
e.click()
print(_q_a)
if '多选题' in _q_class:
for e in driver.find_elements(By.XPATH, '/html/body/div[1]/div[2]/div/div/div/div/section/section/div[{}]/section/div[2]/label'.format(q_i)):
_q_a.append(e.text)
for _c in _a:
if _c in e.text:
print('click'+e.text)
_click = True
e.click()
print(_q_a)
if '判断题' in _q_class:
_ = driver.find_elements(By.XPATH, '/html/body/div[1]/div[2]/div/div/div/div/section/section/div[{}]/div/div[2]/div'.format(q_i))
if '正确' in _a or '对' in _a or 'T' in _a:
_[0].click()
_click = True
print("T")
else:
_[1].click()
_click = True
print("F")
if '选择题' in _q_class:
for e in driver.find_elements(By.XPATH, '/html/body/div[1]/div[2]/div/div/div/div/section/section/div[{}]/section/div[2]/label'.format(q_i)):
_q_a.append(e.text)
for _c in _a:
if _c in e.text:
print('click'+e.text)
_click = True
e.click()
print(_q_a)
if not _click:
print('no click', q_i)
print('=====================================================')
raise Exception('no click')
import time, random
for i in range(1, 73):
try:
ans(i)
time.sleep(random.randint(1, 5))
except Exception as e:
print(e)