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()

沒有留言:

張貼留言

康軒資訊科技 5-2-4 影像數位化-認識數位影像 實作想法

         在康軒資訊科技 5-2-4 影像數位化-認識數位影像的課程中,由於都是觀念的講解,希望能加上實作,讓學生去印證課本的觀念。那底下是課本的觀念:          這時,教師會提出一個問題:如果對同一個螢幕截圖分別存成001.bmp、001.jpg、 001.pn...