首頁 > 軟體

Python+Selenium實現自動填寫問卷

2022-03-16 13:00:58

前提條件

熟悉Python

熟悉HTML

熟悉Xpath

熟悉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

主要思路

  • 匯入所需的庫
  • 建立一個瀏覽器物件
  • 設定網站並存取
  • 用find_element方法找到目標選項的元素
  • 用click方法模擬滑鼠點選
  • 用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()

輸出結果

到此這篇關於Python+Selenium實現自動填寫問卷的文章就介紹到這了,更多相關Python Selenium填寫問卷內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com