Python Selenium自动填写问卷

前提条件

相关介绍

  • Python是一种跨平台的计算机程序设计语言。是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。
  • Time是python标准库,无需额外下载,主要用于处理时间问题。
  • Random是python标准库,其可以随机生成数字、单词、密码等等。
  • Selenium是一个用于Web应用程序测试的工具。其测试直接运行在浏览器中,就像真正的用户在操作一样,支持的浏览器包括IE,Mozilla Firefox,Safari,Google Chrome,Opera等。

实验环境

  • Python 3.x (面向对象的高级语言)
  • Selenium 3.141.0 (python第三方库)pip3 install selenium==3.141.0
  • Time (python标准库)
  • Random(python标准库)

填写问卷

问卷地址

https://wj.qq.com/s2/9851707/76e6/
在这里插入图片描述

获取Xpath

在这里插入图片描述

主要思路

  1. 导入所需的库
  2. 创建一个浏览器对象
  3. 设置网站并访问
  4. 用find_element方法找到目标选项的元素
  5. 用click方法模拟鼠标点击
  6. 用send_keys方法输入文本

代码实现

"""
Created on 2022/03/15
@author: TFX
"""
import time
import random
from selenium import webdriver
# 声明浏览器对象,这里是谷歌浏览器
browser = webdriver.Chrome()
# 问卷网址
url = 'https://wj.qq.com/s2/9851707/76e6/'
browser.get(url)
time.sleep(0.5) # 等待0.5s

# 填姓名
name = browser.find_element_by_xpath('//*[@id="question_q-1-0f43"]/div[2]/input')
time.sleep(0.5) # 等待0.5s
name.send_keys('张三') # 输入文本

# 填性别
gender = browser.find_element_by_xpath('//*[@id="question_q-5-8b34"]/div[2]/div[1]/label/p')
time.sleep(0.5) # 等待0.5s
gender.click()

# 填学号
SID = browser.find_element_by_xpath('//*[@id="question_q-2-58d4"]/div[2]/input')
time.sleep(0.5) # 等待0.5s
SID.send_keys('2000010086') # 输入文本

# 填个性签名
motto = browser.find_element_by_xpath('//*[@id="question_q-11-5004"]/div[2]/textarea')
time.sleep(0.5) # 等待0.5s
motto.send_keys('学无止境!') # 输入文本

# 提交
submit = browser.find_element_by_class_name("btn-submit")
submit.click()

输出结果

在这里插入图片描述

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
如果您希望使用Python自动填写问卷星的问卷,您可以通过模拟用户的操作来实现这个目标。以下是一个简单的示例代码,使用了Selenium库来实现自动化浏览器操作: ```python from selenium import webdriver from selenium.webdriver.common.keys import Keys # 创建一个 Chrome 浏览器实例 driver = webdriver.Chrome() # 打开问卷星网站 driver.get("https://www.wjx.cn/") # 在登录页面输入用户名和密码并登录,这里需要替换成您自己的用户名和密码 username = driver.find_element_by_id("username") username.send_keys("your_username") password = driver.find_element_by_id("password") password.send_keys("your_password") password.send_keys(Keys.RETURN) # 进入问卷调查页面,这里需要替换成您自己的问卷链接 driver.get("https://www.wjx.cn/jq/123456.aspx") # 填写问卷答案,这里需要根据具体的问卷设计进行定位和填写 answer1 = driver.find_element_by_id("q1") answer1.send_keys("your_answer") answer2 = driver.find_element_by_id("q2") answer2.send_keys("your_answer") # 提交问卷 submit_button = driver.find_element_by_id("submit_button") submit_button.click() # 关闭浏览器 driver.quit() ``` 请注意,这只是一个基本的示例代码,具体的实现可能会因为问卷星网站的更新而有所变化。您需要根据您自己的问卷和需求进行适当的修改。另外,使用自动化工具来自动填写问卷可能会违反网站的使用条款,请确保您使用这种方式是符合法律和道德规范的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FriendshipT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值