新營學習網
:::
社團報名
線上書籍
電腦作業繳交
連結網站
Scratch 網站
宜蘭scratch 網站
南市scratch競賽平台
全民資安素養自我評量
學校主站
登入
使用 臺南市 OpenID 快速登入
:::
所有書籍
「python 筆記」目錄
MarkDown
7-2 爬蟲
1. 自學教材、安裝
1-1 Visual Studio Code 文字編輯工具
1-2 字串
1-4 tuple
1-5 list(陣列、串列)
1-6 dict(字典)
1-7 set(集合)
1-8 語法
1-9 print 輸出
2. 函數
2-1 函數--任意參數數量
3. 載入模組
3-1 排列、組合 itertools 模組
4. Google Colaboratory
4-1 讀取 google 雲端檔案、import模組
4-2 上傳檔案
5. 常用程式片段
5-1 EXCEL xlsx 檔案讀寫
5-2 取得目錄中的檔案
5-3 文字檔編碼判斷
6. 圖型介面
6-1 tkinter
6-2 EasyGui
6-3 Kivy
6-4 PySide2 , PySide6
7. 工具
7-1 vpython
7-2 爬蟲
7-3 使用 selenium 來模擬手工新增 TinkerCAD 帳號
8. 包成 EXE 檔
9. 筆記
8. 包成 EXE 檔
python 筆記 ========= thinkerCad 增加帳號時會自動加入數字碼,得手動修改很麻煩。 使用 selenium 來模擬手工新增帳號。 配合 openid excel 檔案。欄位順序如下: 年級, 班級, 座號, 學號, 姓名, 註冊帳號, 帳號狀態, 帳號停用說明, 備用信箱(申請帳號時填寫) 操作時: ---- (在120秒內)登入 TinkerCAD 進入上方課程 -- 進入建立的班級,接著就網頁自動接手了。 程式中以每次建一班姓名,需要每次修程式班次 ```python # 下載合適的 geckodriver # http://chromedriver.storage.googleapis.com/index.html chrome 要配合chrome 版本 # https://github.com/mozilla/geckodriver/releases Firefox # 讀取學生資料 import os import pandas as pd df = pd.read_excel(os.path.dirname(__file__)+'/openid.xlsx') # web 控制 from selenium import webdriver import time from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait as wait from selenium.webdriver.support import expected_conditions as EC opts = Options() #opts.headless = False opts.add_argument("start-maximized") opts.add_argument("disable-infobars") opts.add_argument("--disable-extensions") opts.add_argument("start-maximized") opts.add_experimental_option("excludeSwitches", ["enable-automation"]) opts.add_experimental_option('useAutomationExtension', False) browser = webdriver.Chrome(options=opts,executable_path='/usr/bin/chromedriver') #browser = webdriver.Firefox() browser.get('https://www.tinkercad.com/') #time.sleep(40) # 等到有 加入學生 按鍵出現 wait(browser, 120).until(EC.element_to_be_clickable((By.ID, "addStudentModalButton"))).click() #time.sleep(5) #browser.switch_to.frame(1) #browser.switch_to.frame(browser.find_elements_by_tag_name("iframe")[0]) for row in range(df.index.stop): #第一班 ,每次執行前要更改 if (df.values[row][1] == 1 ) : # add one #userElem=browser.switch_to.active_element time.sleep(3) # 姓名 60102王小明 userElem = browser.find_element_by_id('first-last-name') userElem.send_keys('{}{:02d}{:02d}{}'.format(df.values[row][0],df.values[row][1],df.values[row][2], df.values[row][4]) ) time.sleep(2) #openid Elem = browser.find_element_by_id('identifier') Elem.clear() Elem.send_keys(df.values[row][5]) time.sleep(1) wait(browser, 10).until(EC.element_to_be_clickable((By.ID, "addStudentSaveStudentButton"))).click() ```
Google網站翻譯工具列
站內搜尋
search
進階搜尋