2023年5月26日 星期五

關於國中資訊科技-自動化的補充教材- -瀏覽器自動化操作

        最近發現學生很喜歡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()

沒有留言:

張貼留言

資訊科技課堂中指導學生使用教育版Gemini ,如何讓學生不敢對教育版Gemini亂問問題

        自從Google 教育版可以讓教師、學生免費使用 Gemini。課堂中,老師可以在平板教學、資訊科技教學等課堂中,指導學生使用 Gemini。但是調皮的學生總是隨著自由想像,提出一些很奇怪的問題。但是老師可以怎麼做?讓學生不敢亂問問題?         一、如何使...