Python實現自動填寫腳本流程詳解
前言
環境使用
- Python 3.8
- Pycharm
模塊使用
- import requests —> 數據請求模塊 pip install requests
- import parsel —> 數據解析模塊 pip install parsel
- from selenium import webdriver —> 自動測試模塊 pip install selenium==3.141.0
本次案例代碼實現思路
打開考試網站
- selenium –> 瀏覽器驅動 –> 操作瀏覽器 <模擬人的行為做操作瀏覽器>
獲取答案
- 獲取答案網站鏈接
- 獲取問題以及答案內容
對比題目以及答案 選出正確答案
- 獲取問題答案選項
- 和正確的答案進行對比
- 如果正確答案和選擇答案一致, 那就進行點擊
進行點擊答題
最終效果
代碼實現
導入模塊
from selenium import webdriver # 導入數據請求模塊 import requests # 導入數據解析模塊 import parsel
打開瀏覽器 webdriver.Chrome(‘驅動路徑’)
- 驅動和代碼放在一起
- 驅動文件和python安裝目錄放在一起
driver = webdriver.Chrome(r'D:\download\anaconda\chromedriver.exe') # 設置全屏 driver.maximize_window()
輸入網址
driver.get('https://www.jsyks.com/kmy-mnks')
獲取問題及答案
lis = driver.find_elements_by_css_selector('div.Exam ul li') page = 1 # for循環遍歷, 提取列表裡面的元素 for li in lis: # 獲取屬性 answer_id = li.get_attribute('c') # 答案鏈接的ID # https://tiba.jsyks.com/Post/8f0e0.htm answer_url = f'https://tiba.jsyks.com/Post/{answer_id}.htm' # 獲取答案以及問題 --> <Response [200]> 表示請求成功 response = requests.get(url=answer_url) # 獲取網頁內容 --> 提取答案以及問題內容 轉換數據類型 selector = parsel.Selector(response.text) # 獲取問題 --> 把問題和答案保存數據庫保存 直接比較答案, 自己建立問題庫, 從問題找答案 question = selector.css('#question h1 strong a::text').get() # 獲取答案 answer = selector.css('#question h1 u::text').get()
點擊判斷
if answer == '錯': # 把答案內容改成 錯誤 重新賦值一下 answer = '錯誤' # # 如果答案內容是對的話 elif answer == '對': # 把答案內容改成正確重新賦值一下 answer = '正確' # 獲取問題選項內容 --> b標簽 全部獲取下來 b標簽是在li標簽裡面 driver 表示整個網頁 bs = li.find_elements_by_css_selector('b') num = 1 for b in bs: # 獲取b標簽文本 choose = b.text # 判斷如何答案比兩個元素多的, 就取一個元素 if len(choose) > 2: # [0]提取 字符串裡面第一個元素 choose = choose[0] # 進行對比 選項和答案一致 是否一模一樣 if choose == answer: # 點擊選項 --> 定位到點擊那個元素 LI1 --> 1 表示第一題 b:nth-child(3) 表示第一個答案 driver.find_element_by_css_selector(f'#LI{page} b:nth-child({2+num})').click() print('點擊瞭') else: print('選項是', choose, '答案是', answer) print(choose) num +=1 page += 1
點擊提交試卷
如果過快,可能程序還沒找到元素 <網頁還沒加載元素出來, 你就直接點瞭, 可能報錯>
driver.find_element_by_css_selector('div.ExamBtn u.btnJJ').click()
到此這篇關於Python實現自動填寫腳本流程詳解的文章就介紹到這瞭,更多相關Python自動填寫內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- python實現selenium網絡爬蟲的方法小結
- Python語言中的Selenium環境搭建
- Python selenium 實例之通過 selenium 查詢禪道是否有任務或者BUG
- Python腳本Selenium及頁面Web元素定位詳解
- Python爬取網易雲歌曲評論實現詞雲圖