Find element
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.common.exceptions import NoSuchElementException
### 設定 Chrome 瀏覽器
options = webdriver.ChromeOptions()
options.add_argument("--window-size=1280,900") # 固定瀏覽器視窗尺寸
### 啟動 Chrome
driver = webdriver.Chrome(options=options)
### 開啟網頁
try:
url = "https://zh.wikipedia.org/wiki/臺灣"
driver.get(url)
print("網頁標題:")
print(driver.title)
### find_element:取得第一個符合條件的元素
page_title = driver.find_element(
By.ID,
"firstHeading"
) # 透過 id 找到頁面主標題
print("\n文章標題:")
print(page_title.text)
### find_element:取得第一段文章內容
first_paragraph = driver.find_element(
By.CSS_SELECTOR,
".mw-content-ltr > p"
) # 找到文章內容區域裡的第一個段落
print("\n第一段內容:")
print(first_paragraph.text)
### find_elements:取得所有章節標題
heading_elements = driver.find_elements(
By.CSS_SELECTOR,
".mw-heading2 h2"
) # 找到文章中的所有第二層章節標題
print("\n章節數量:", len(heading_elements))
print("\n文章章節:")
for heading in heading_elements:
print(heading.text)
### find_elements 找不到時會回傳空清單
missing_elements = driver.find_elements(
By.CSS_SELECTOR,
".not-exist"
)
print("\n不存在的元素數量:")
print(len(missing_elements)) # 輸出 0
### find_element 找不到時會拋出例外
try:
missing_element = driver.find_element(
By.ID,
"not-exist"
)
except NoSuchElementException:
print("find_element 找不到指定元素")
finally:
driver.quit()
### 執行完成
print("\n瀏覽器已關閉")