最近發現學生很喜歡CPS手速測試 - 鼠標點擊速度測試,測試滑鼠點擊次數。那有沒有辦法用程式來控制滑鼠、鍵盤,就可以登入Google ClassRoom。目前有兩種方法:1.pyautogui、 2.selenium。使用1.pyautogui,需要量測時間才能決定下一步。也就是無法用if -else 來控制。但是2.selenium 可以通過網址的變化來控制。也就是可以用if -else 來控制。
現在就利用一個範例來說明2.selenium可以通過網址的變化來控制。此範例名稱為 Py20230526-0001.py。
安裝套件:pip install selenium==2.53.6
為何要指定2.53.6 版本,目前最新版本為4.9.1。理由是2.53.6版的網路資源最多。以後的版本則是語法變更,相對應的網路資源較少。
下載Chrome的WebDriver:https://chromedriver.chromium.org/
那要如何知道Chrome版本?
下載後,所得到的檔案chromedriver_win32.zip需解壓縮。解壓縮後,chromedriver.exe需與我們要編譯的Py20230526-0001.py同一目錄,或是在Py20230526-0001.py指定chromedriver.exe的位置(path)。 那要如何知道搜尋列的class_name?
程式名稱:Py20230526-0001.py
程式內容:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
browser = webdriver.Chrome("C:\\Users\\m\\selenium\\chromedriver.exe")
# 前往的網址
Url = "https://www.google.com.tw"
browser.get(Url)
browser.find_element_by_class_name("gLFyf").click()
browser.find_element_by_class_name("gLFyf").send_keys("Python Selenium")
browser.find_element_by_class_name("gLFyf").send_keys('\ue007')
# 取得目前網頁網址
CurrentUrl = browser.current_url
# 判別頁面更新則停留60秒
if CurrentUrl != Url:
time.sleep(60)
browser.quit()
資料來源: