[TOC] 前言 暑假搞數學建模接觸到了Python,不得已成為了一個Py吹,Python作為動態的高級語言,在方便的同時也伴隨了想當強的靈活性,學Python首先是為了寫爬蟲,在寫爬蟲之前先來點小前奏,用Python的Selenium包實現模擬點擊,完成啟明星工作室論壇的自動簽到。(因為本人老是沉 ...
目錄
前言
暑假搞數學建模接觸到了Python,不得已成為了一個Py吹,Python作為動態的高級語言,在方便的同時也伴隨了想當強的靈活性,學Python首先是為了寫爬蟲,在寫爬蟲之前先來點小前奏,用Python的Selenium包實現模擬點擊,完成啟明星工作室論壇的自動簽到。(因為本人老是沉迷學習忘記簽到而被罰款^_^)
第1步.環境準備(用的chrome瀏覽器)
1.安裝selenium包
pip install selenium
2.下載chromedriver驅動;
找到符合自己瀏覽器版本的chromedriver驅動,下載解壓後,將chromedriver.exe文件放到Python目錄下的Scripts目錄下,也可以添加環境變數到Path中;
第2步.Selenium腳本源碼
比較簡單,而且有詳細註釋就不一一說明瞭
# -*- coding: utf-8 -*-
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
#myusername = "XXX"#登錄賬號
#mypassword = "XXX"#登錄密碼
driver = webdriver.Chrome() #模擬瀏覽器打開網站
driver.get("https://www.ctguqmx.com")
#driver.maximize_window() #將視窗最大化
try:
driver.find_element_by_xpath('/html/body/div[1]/div/div[4]/span/a[1]').click()#定位語句去源碼中找
time.sleep(2)#延時載入
#找到登錄框,輸入賬號密碼
driver.find_element_by_xpath("//*[@id='aw-login-user-name']").send_keys("myusername")
driver.find_element_by_xpath("//*[@id='aw-login-user-password']").send_keys("mypassword")
#模擬點擊登錄
driver.find_element_by_xpath("//*[@id='login_submit']").click()
time.sleep(2)
#模擬登陸後點擊簽到界面
driver.find_element_by_xpath("/html/body/div[1]/div/div[5]/a").click()
time.sleep(2)
#模擬點擊簽到
driver.find_element_by_xpath("//*[@id='qd_button']").click()
time.sleep(2)
print("簽到成功")
except:
print("簽到失敗")
driver.quit#退出去動
註:寫完之後可以嘗試運行代碼,如果報錯RROR:install_util.cc(597)] Unable to read registry value HKLM\SOFTWARE\Policies\Google\Chrome\MachineLevelUserCloudPolicyEnrollmentToken可以在註冊列表中在提示路徑下添加字元串值Chrome\MachineLevelUserCloudPolicyEnrollmentToken
第3步.添加Windows定時任務
1.我的電腦>右鍵管理>(左側欄)任務計劃程式>Microsoft>Windows>(右側欄)創建任務(詳見百度)
2.設置任務:
命名任務
設置觸發器
設置操作
註意:該方法的前提是py尾碼的腳本文件預設打開方式是python,可以先嘗試一下,本人就是預設python打開,如果不行可以用下麵方法設置預設打開方式:
1.win+R打開運行;
2.輸入regedit,確定;
3.在打開的註冊表中找到以下目錄:
HKEY_CLASSES-ROOT->Python.file->shell->open->command
4.將該項的內容修改為:
“D:\Python\Python3.6.1\pythonw.exe” “D:\Python\Python3.6.1\Lib\idlelib\idle.pyw” -e “%1”
(將其中的路徑修改為自己python的安裝路徑即可)
參考
python+Selenium自動簽到實例
Python實現自動簽到腳本