Python+Selenium實現(xiàn)自動填寫問卷
前提條件
熟悉Python
熟悉HTML
熟悉Xpath
熟悉Selenium
相關(guān)介紹
Python是一種跨平臺的計算機程序設(shè)計語言。是一個高層次的結(jié)合了解釋性、編譯性、互動性和面向?qū)ο蟮哪_本語言。最初被設(shè)計用于編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越多被用于獨立的、大型項目的開發(fā)。
Time是python標(biāo)準(zhǔn)庫,無需額外下載,主要用于處理時間問題。
Random是python標(biāo)準(zhǔn)庫,其可以隨機生成數(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標(biāo)準(zhǔn)庫)
Random(python標(biāo)準(zhǔn)庫)
填寫問卷
問卷地址
https://wj.qq.com/s2/9851707/76e6/
獲取Xpath
主要思路
- 導(dǎo)入所需的庫
- 創(chuàng)建一個瀏覽器對象
- 設(shè)置網(wǎng)站并訪問
- 用find_element方法找到目標(biāo)選項的元素
- 用click方法模擬鼠標(biāo)點擊
- 用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() # 填學(xué)號 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('學(xué)無止境!') # 輸入文本 # 提交 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-12django 連接數(shù)據(jù)庫出現(xiàn)1045錯誤的解決方式
這篇文章主要介紹了django 連接數(shù)據(jù)庫出現(xiàn)1045錯誤的解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05如何用python獲取EXCEL文件內(nèi)容并保存到DBC
很多時候,使用python進(jìn)行數(shù)據(jù)分析的第一步就是讀取excel文件,下面這篇文章主要給大家介紹了關(guān)于如何用python獲取EXCEL文件內(nèi)容并保存到DBC的相關(guān)資料,需要的朋友可以參考2023-12-12Windows上配置Emacs來開發(fā)Python及用Python擴(kuò)展Emacs
這篇文章主要介紹了Windows上配置Emacs來開發(fā)Python及用Python擴(kuò)展Emacs的方法,Emacs與Vim并稱為開發(fā)者手中最強大的兩款文本編輯器,需要的朋友可以參考下2015-11-11動態(tài)設(shè)置django的model field的默認(rèn)值操作步驟
這篇文章主要介紹了動態(tài)設(shè)置django的model field的默認(rèn)值操作步驟,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03Python Django 實現(xiàn)簡單注冊功能過程詳解
這篇文章主要介紹了Python Django 實現(xiàn)簡單注冊功能過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-07-07在Python中測試訪問同一數(shù)據(jù)的競爭條件的方法
這篇文章主要介紹了在Python中測試訪問同一數(shù)據(jù)的競爭條件的方法,探究多線程或多進(jìn)程情況下優(yōu)先訪問權(quán)的問題,需要的朋友可以參考下2015-04-04