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

沒有留言:

張貼留言

軟體定義網路SDN-主題2-1 OpenFlow 概述

學習目標: 一.介紹OpenFlow特性 二.介紹OpenFlow Ports:實體port、邏輯port、保留port 一.介紹OpenFlow特性 1.OpenFlow 是 (1).控制器與交換器之間溝通的通訊協定 (2)使用了TCP (port 6653;舊版 port 6...