下面是在處理動態頁面的爬蟲時,遇到的錯誤
算是忽然插播的一篇
yojijun@chenyouzideMacBook-Pro python % python3 sss.py
Traceback (most recent call last):
File "/Users/yojijun/Desktop/python/sss.py", line 12, in <module>
element = driver.find_element_by_class_name("gLFyf")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'WebDriver' object has no attribute 'find_element_by_class_name'
yojijun@chenyouzideMacBook-Pro python %
AttributeError 是在 Python 中一種常見的錯誤
錯誤訊息及發生
錯誤訊息中 最後一行有說到 AttributeError: 'WebDriver' object has no attribute 'find_element_by_class_name' 沒有這個屬性
也是有一種做法可以去查看
不確定對象是否具有該屬性或方法,可以使用 hasattr()
函數來檢查:
from selenium import webdriver
# 初始化Chrome WebDriver
driver = webdriver.Chrome()
# 檢查 driver 對象是否具有 find_element_by_class_name 方法
if hasattr(driver, 'find_element_by_class_name'):
print("driver 對象具有 find_element_by_class_name 方法")
else:
print("driver 對象沒有 find_element_by_class_name 方法")
# 關閉 WebDriver
driver.quit()
⬇️⬇️⬇️⬇️⬇️⬇️
yojijun@chenyouzideMacBook-Pro python % python3 sss.py
driver 對象沒有 find_element_by_class_name 方法
yojijun@chenyouzideMacBook-Pro python %
現階段暫時選擇無腦使用錯誤訊息來了解狀況
如果使用 hasattr()
函數結果還是有所疑慮,
可以換dir()
函數試看看,這是網上有大大在2022年尾寫的文章,
內文有詳細介紹跟示範 如何解決AttributeError?