选修课期末通知要200份问卷,许多事要忙,临时起意,怒学六小时,搞定问卷自动化填写
后续我会解释完善,等我结课
先附源码,需要自取
from selenium.webdriver.common.by import By
from selenium import webdriver #selenium库
import random # 用于产生随机数
import time # 用于延时
import pyautogui # 用于模拟人手
from selenium.webdriver.chrome.service import Service
def gundong(driver, distance): #延时+屏幕滚动
js = "var q=document.documentElement.scrollTop=" + str(distance) #下拉像素(800是基于最顶端测算的距离)
driver.execute_script(js)
time.sleep(0.5)
def danxuan(driver,num):
# 找到所有标签(定位问题)这里是单选
# dan = driver.find_elements_by_css_selector('#div1 >'+ str(path))
w=[[0.88,0.12],[0.69,0.31],[0.79,0.21],[0.10,0.64,0.09,0.097,0.073],[0.05,0.21,0.74]]
for index,n_um in enumerate(num):
dans = driver.find_element(by=By.ID, value=f'div{n_um}')
dan=dans.find_elements(by=By.CLASS_NAME,value='ui-radio')
l_ist=random.choices(dan,weights=w[index],k=1)
print(l_ist)
for i in l_ist:
i.click()#找到标签并点击#choice()与choices()有区别的
time.sleep(random.randint(0, 1))
def duoxuan(driver,num):
#num是题目数量
#这里是多选题,找到所有多选的标签
w=[[0.