當我嘗試跟著網上大大,還是遇到一些狀況 ( 別人的一小步是我的一大步啊OAQ
文章點我🤸
昨天結尾起手式的 code 就不佔版面空間貼過來,直接進行改寫。
整篇文章會以"跟著做"來記錄,並發現問題、處理方式。
以 google 首頁為例
來搜索關鍵字「 Selenium Python 」
from selenium import webdriver
# 初始化Chrome WebDriver
driver = webdriver.Chrome()
#打開網頁:使用get方法打開你要爬取的網頁。
driver.get("https://www.google.com/")
#進行操作:定位搜尋框
element = driver.find_element_by_name("q")
element = driver.find_element_by_class_name("gLFyf")
#傳入字串
element.send_keys("Selenium Python")
#清理和關閉:在完成操作後,確保關閉Chrome瀏覽器,以釋放資源。
driver.quit()
看效果就在終端機下指令執行 $ python3 檔名.py
例如:python3 sss.py
於是我遇到 AttributeError
在前幾篇已插播,今天不多談,繼續往下進行
(當初沒庫存,只好先抓原訂後面的文章墊一下)
💥後來發現!有可能不是寫的問題,也許是當初版本匹配的問題,下載 driver 的部分
在 Day 11 重新走過一次,並在 2.瀏覽器版本確認 時發現問題,
跟著做還能錯(抱頭
這篇繼續進行改寫 code 的方式,
之後再回頭處理版本下載問題,看看是不是真的不用改寫 code
可以用這樣的方式來解套
新增句法from selenium.webdriver.common.by import By
(下方第二行)
還有 by
也需要搬家一下
from selenium import webdriver
from selenium.webdriver.common.by import By
(...略且不變)
#element = driver.find_element_by_name("q")
#element = driver.find_element_by_class_name("gLFyf")
element = driver.find_element(By.NAME, "q")
element = driver.find_element(By.CLASS_NAME,"gLFyf")
driver.find_element_by
這樣寫法不認同
在新增語法後,下方的參數寫法也需要更改
把這個 by 什麼
搬進去括弧裡,就順利完成啦!
看看效果吧 執行 $ python3 檔名.py
這效果很...第一次嘗試我很喜歡好讚 XD
咦!不對啊,他只有打開?但我有請他 輸入關鍵字 "Selenium Python" 什麼的
到底是速度太快,還是又錯了呢?先讓他睡三秒看看time.sleep(3)
前面我們有提過時間的應用,在第六天有提到 "增添延遲時間效果 import time"
原來是速度太快~稍微有點信心了
element = driver.find_element(By.NAME, "q")
element = driver.find_element(By.CLASS_NAME,"gLFyf")
這裡看不懂,為何是先找Name,再找class_name?
我看google那段應該是