[Day13] 搶PS5 程式怎麼寫? 動態爬蟲詳細教學! | 線上搶購機器人
我知道PS5已經退燒了,但要不是因為想搶PS5我根本不會碰Python(一種恩人的概念)所以今天還是拿PS5舉例喔~Selenium的基本用法大家只要想Selenium就是模擬我們用電腦的點擊、打字、導向網頁等行為driver.get("https://m.momoshop.com.tw/mymomo/login.momo")要買東西,第一步就是要先到購物網站登入。driver.get()裡面放的是你要連的網站,這邊打開是momo購物網的登入頁面喔~driver.find_element_by_id(memId).send_keys(你的帳號)driver.find_element_by_id(passwd).send_keys(你的密碼)再來就是要輸入你的帳號密碼,send_keys()裡面放...
我知道PS5已經退燒了,但要不是因為想搶PS5我根本不會碰Python (一種恩人的概念)所以今天還是拿PS5舉例喔~
Selenium的基本用法
大家只要想Selenium就是模擬我們用電腦的點擊、打字、導向網頁等行為
driver.get("https://m.momoshop.com.tw/mymomo/login.momo")要買東西,第一步就是要先到購物網站登入。driver.get() 裡面放的是你要連的網站,這邊打開是momo購物網的登入頁面喔~
driver.find_element_by_id(memId).send_keys(你的帳號) driver.find_element_by_id(passwd).send_keys(你的密碼)再來就是要輸入你的帳號密碼,send_keys() 裡面放的是你要輸入的字,那要怎麼知道要在哪一個框框輸入帳號呢? 首先要在網站頁面按 F12,接下來再按圖片1號處的選取箭頭,點擊圖片2號處的帳號框框,就可以得到帳號框的屬性囉(圖片3號處)!
知道帳號框框的id是memId後,就可以用find_element_by_id() 定位元素了~其實也不一定要用id定位,只是這個方法最不會錯,其他定位方式可以看Selenium官方文件[1]喔~
driver.find_element_by_class_name(login).click()輸入完帳號密碼要點擊下方的登入,我這邊用的定位方式是class name,
WebDriverWait(driver, 1, 0.5).until(EC.presence_of_element_located((By.ID, buy_yes)))進入PS5購買頁面會看到可訂購時通知我的按鍵 (不可購買)所以我們要用顯性等待方式,每0.5秒刷新一次頁面,直到偵測到直接購買按鈕為止那要怎麼得到直接購買按鈕的id呢? 去別的商品頁面看就可以囉~
完整程式碼(不含結帳部分)
from selenium import webdriver i...