通常我們在瀏覽網頁都會進行輸入和點擊的動作,例如 : 查詢資料,輸入帳號密碼等。因此接下來我要學習的就是如何輸入搜尋資料。
以 google 查詢為例子 : 先在 google 首頁的查詢框內進行輸入,再點擊查詢
from selenium import webdriver
from selenium.webdriver.common.by import By # 導入 By 類,用於指定元素定位方式
from time import sleep # 導入 sleep 函數,用於延遲操作
driver = webdriver.Chrome()
driver.get('https://www.google.com')
# 查找名為 'q' 的輸入框元素(Google 的搜尋框)
# 透過 name 屬性,尋找第一個相符的網頁元素
element = driver.find_element(By.NAME, 'q')
# 向輸入框中輸入 'STOCK'
element.send_keys('STOCK')
# 暫停 2 秒鐘,觀察輸入效果
sleep(2)
# 刪除輸入框中 'STOCK'
element.clear()
sleep(2)
# 關閉瀏覽器
driver.close()
導入Key模組 :
from selenium.webdriver.common.keys import Keys
常用操作如下 :
from selenium import webdriver
from selenium.webdriver.common.by import By # 導入 By 類,用於指定元素定位方式
from selenium.webdriver.common.keys import Keys
from time import sleep # 導入 sleep 函數,用於延遲操作
driver = webdriver.Chrome()
driver.get('https://www.google.com')
sleep(1)
# 查找名為 'q' 的輸入框元素(Google 的搜尋框)
element = driver.find_element(By.NAME, 'q')
# 傳入字串
# 向輸入框中輸入 'ai'
element.send_keys('ai')
# # 暫停 1 秒鐘,讓頁面加載完成
sleep(1)
# 1. 點擊 Google 搜尋,使用click()
# button = driver.find_element(By.NAME,'btnK')
# button.click()
# sleep(2)
# 2. 模擬按下 enter 鍵進行搜尋
element.send_keys(Keys.RETURN)
sleep(2)
# 關閉瀏覽器
driver.close()
參考資料
https://steam.oxxostudio.tw/category/python/spider/selenium.html#a4
https://medium.com/marketingdatascience/selenium%E6%95%99%E5%AD%B8-%E4%B8%80-%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8webdriver-send-keys-988816ce9bed
https://vocus.cc/article/64bbe20efd89780001072d83