python爬取问卷星内容_PythonSelenium问卷星⾃动填写从问卷星⽹站的⼀个模板
编写思路⼤致是这样xpath定位⽹页元素 driver.find_element_by_xpath
对元素进⾏操作,有点击click和填⼊send_keys
最后点击提交问卷//*[@id="submit_button]结束
若想要多份问卷写个循环套外⾯即可
注意事项要下载相应版本的Chormedriver放在python⽂件夹⾥做驱动
填写问卷时,定位元素只能定位到可视化区域,看不见的需要将浏览器向下拉动,
js="var q=document.documentElement.scrollTop=800" #下拉像素(800是基于最顶端测算的距离) ute_script(js) #执⾏下拉像素操作
python新手能做啥兼职⽹页定位元素操作步骤F12弹框开发者界⾯,左键单击左上⾓标志
选择定位元素,⿏标左键单击
右键灰⾊区域
Copy->CopyXPath 复制到粘贴板from selenium import webdriverimport randomimport timedef selection(*a): #单选题 输⼊参数为任意个数str(xpath) 返回值为某⼀随机str(xpath)
n = len(a)
num = random.randint(1,n)
for i in range(1,n+1,1):
if(i==num):
return a[num-1]hours = selection('5', '10', '15', '20')money = str(random.uniform(1500, 2500))time = selection('⼀个⽉','两个⽉','三个⽉','四个⽉','五个⽉','六个⽉','⼀年','两年','三
年')month_money = selection('200','500','1000','1500','2000','2500')def time_write(num):
for i in range(num):
driver = webdriver.Chrome()
<('www.wjx/jq/82201411.aspx')
#第⼀题
driver.find_element_by_xpath(selection('//*[@id="divquestion1"]/ul/li[1]/a',
'//*[@id="divquestion1"]/ul/li[2]/a',
'//*[@id="divquestion1"]/ul/li[3]/a',
'//*[@id="divquestion1"]/ul/li[4]/a')).click()
#第⼆题
driver.find_element_by_xpath(selection('//*[@id="divquestion2"]/ul/li[1]/a',
'//*[@id="divquestion2"]/ul/li[2]/a')).click()
#第三题
driver.find_element_by_xpath('//*[@id="q3"]').send_keys(money)
#第四题
source = selection('⽗母给予','兼职获得','奖学⾦')
driver.find_element_by_xpath('//*[@id="q4"]').send_keys(source)
js="var q=document.documentElement.scrollTop=800" #下拉像素(800是基于最顶端测算的距离) ute_script(js) #执⾏下拉像素操作
#第五题
driver.find_element_by_xpath(selection('//*[@id="divquestion5"]/ul/li[1]/a',
'//*[@id="divquestion5"]/ul/li[2]/a',
'//*[@id="divquestion5"]/ul/li[3]/a',
'//*[@id="divquestion5"]/ul/li[4]/a')).click()
#第六题
driver.find_element_by_xpath('//*[@id="q6"]').send_keys(time)
#第七题
driver.find_element_by_xpath('//*[@id="q7"]').send_keys(month_money)
#第⼋题
driver.find_element_by_xpath(selection('//*[@id="divquestion8"]/ul/li[1]/a',
'//*[@id="divquestion8"]/ul/li[2]/a',
'//*[@id="divquestion8"]/ul/li[3]/a',
'//*[@id="divquestion8"]/ul/li[4]/a')).click()
driver.find_element_by_xpath(selection('//*[@id="divquestion8"]/ul/li[5]/a',
'//*[@id="divquestion8"]/ul/li[6]/a',
'//*[@id="divquestion8"]/ul/li[7]/a')).click()
js="var q=document.documentElement.scrollTop=1600"
#第九题
driver.find_element_by_xpath(selection('//*[@id="divquestion9"]/ul/li[2]/a')).click()
#第⼗题
driver.find_element_by_xpath(selection('//*[@id="divquestion10"]/ul/li[1]/a',
'//*[@id="divquestion10"]/ul/li[2]/a',
'//*[@id="divquestion10"]/ul/li[3]/a')).click()
#第⼗⼀题
driver.find_element_by_xpath(selection('//*[@id="divquestion11"]/ul/li[1]/a',
'//*[@id="divquestion11"]/ul/li[2]/a',
'//*[@id="divquestion11"]/ul/li[3]/a')).click()
#第⼗⼆题
driver.find_element_by_xpath(selection('//*[@id="divquestion12"]/ul/li[1]/a',
'//*[@id="divquestion12"]/ul/li[2]/a',
'//*[@id="divquestion12"]/ul/li[3]/a')).click()
js="var q=document.documentElement.scrollTop=2400"
#第⼗三题
driver.find_element_by_xpath(selection('//*[@id="divquestion13"]/ul/li[1]/a', '//*[@id="divquestion13"]/ul/li[2]/a',
'//*[@id="divquestion13"]/ul/li[3]/a',
'//*[@id="divquestion13"]/ul/li[3]/a')).click()
#第⼗四题
driver.find_element_by_xpath(selection('//*[@id="divquestion14"]/ul/li[1]/a', '//*[@id="divquestion14"]/ul/li[2]/a',
'//*[@id="divquestion14"]/ul/li[3]/a',
'//*[@id="divquestion14"]/ul/li[4]/a')).click()
driver.find_element_by_xpath(selection('//*[@id="divquestion14"]/ul/li[5]/a', '//*[@id="divquestion14"]/
ul/li[6]/a',
'//*[@id="divquestion14"]/ul/li[7]/a')).click()
#第⼗五题
driver.find_element_by_xpath(selection('//*[@id="divquestion15"]/ul/li[1]/a', '//*[@id="divquestion15"]/ul/li[2]/a',
'//*[@id="divquestion15"]/ul/li[3]/a')).click()
js="var q=document.documentElement.scrollTop=3200"
#第⼗六题
driver.find_element_by_xpath('//*[@id="q16"]').send_keys('我爱她')
#第⼗七题
driver.find_element_by_xpath('//*[@id="q17"]').send_keys('165+')
#第⼗⼋题
driver.find_element_by_xpath('//*[@id="q18"]').send_keys('0')
#第⼗九题
driver.find_element_by_xpath('//*[@id="q19"]').send_keys(hours)
#第⼆⼗题
driver.find_element_by_xpath(selection('//*[@id="divquestion20"]/ul/li[1]/a', '//*[@id="divquestion20"]/ul/li[2]/a',
'//*[@id="divquestion20"]/ul/li[3]/a')).click()
#提交按钮
driver.find_element_by_xpath(selection('//*[@id="submit_button"]')).click()
print('第'+str(i)+'次填写成功')
driver.quit()time_write(100)12345678910111213141516171819202122232425262728293031323334353637383940
下好第三⽅包,代码复制粘贴运⾏即可展⽰效果
作者:Atom_QQ2022313691
来源:CSDN
著作权归作者所有,转载请联系作者获得授权,切勿私⾃转载。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论