Python+Selenium實現(xiàn)自動填寫問卷
前提條件
熟悉Python
熟悉HTML
熟悉Xpath
熟悉Selenium
相關(guān)介紹
Python是一種跨平臺的計算機程序設(shè)計語言。是一個高層次的結(jié)合了解釋性、編譯性、互動性和面向?qū)ο蟮哪_本語言。最初被設(shè)計用于編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越多被用于獨立的、大型項目的開發(fā)。
Time是python標準庫,無需額外下載,主要用于處理時間問題。
Random是python標準庫,其可以隨機生成數(shù)字、單詞、密碼等等。
Selenium是一個用于Web應(yīng)用程序測試的工具。其測試直接運行在瀏覽器中,就像真正的用戶在操作一樣,支持的瀏覽器包括IE,Mozilla Firefox,Safari,Google Chrome,Opera等。
實驗環(huán)境
Python 3.x (面向?qū)ο蟮母呒壵Z言)
Selenium 3.141.0 (python第三方庫)pip3 install selenium==3.141.0
Time (python標準庫)
Random(python標準庫)
填寫問卷
問卷地址
https://wj.qq.com/s2/9851707/76e6/

獲取Xpath

主要思路
- 導入所需的庫
- 創(chuàng)建一個瀏覽器對象
- 設(shè)置網(wǎng)站并訪問
- 用find_element方法找到目標選項的元素
- 用click方法模擬鼠標點擊
- 用send_keys方法輸入文本
代碼實現(xiàn)
"""
Created on 2022/03/15
@author: TFX
"""
import time
import random
from selenium import webdriver
# 聲明瀏覽器對象,這里是谷歌瀏覽器
browser = webdriver.Chrome()
# 問卷網(wǎng)址
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()
輸出結(jié)果

到此這篇關(guān)于Python+Selenium實現(xiàn)自動填寫問卷的文章就介紹到這了,更多相關(guān)Python Selenium填寫問卷內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pytorch使用CUDA流(CUDA?stream)的實現(xiàn)
本文主要介紹了Pytorch使用CUDA流(CUDA?stream)的實現(xiàn),CUDA流是在GPU上并行執(zhí)行操作的一種機制,通過使用CUDA流,可以將不同的操作分配給不同的流,在不同的流上并行執(zhí)行這些操作,從而提高代碼的性能2023-12-12
django 連接數(shù)據(jù)庫出現(xiàn)1045錯誤的解決方式
這篇文章主要介紹了django 連接數(shù)據(jù)庫出現(xiàn)1045錯誤的解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05
如何用python獲取EXCEL文件內(nèi)容并保存到DBC
很多時候,使用python進行數(shù)據(jù)分析的第一步就是讀取excel文件,下面這篇文章主要給大家介紹了關(guān)于如何用python獲取EXCEL文件內(nèi)容并保存到DBC的相關(guān)資料,需要的朋友可以參考2023-12-12
Windows上配置Emacs來開發(fā)Python及用Python擴展Emacs
這篇文章主要介紹了Windows上配置Emacs來開發(fā)Python及用Python擴展Emacs的方法,Emacs與Vim并稱為開發(fā)者手中最強大的兩款文本編輯器,需要的朋友可以參考下2015-11-11
動態(tài)設(shè)置django的model field的默認值操作步驟
這篇文章主要介紹了動態(tài)設(shè)置django的model field的默認值操作步驟,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Python Django 實現(xiàn)簡單注冊功能過程詳解
這篇文章主要介紹了Python Django 實現(xiàn)簡單注冊功能過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-07-07
在Python中測試訪問同一數(shù)據(jù)的競爭條件的方法
這篇文章主要介紹了在Python中測試訪問同一數(shù)據(jù)的競爭條件的方法,探究多線程或多進程情況下優(yōu)先訪問權(quán)的問題,需要的朋友可以參考下2015-04-04

