iT邦幫忙

2024 iThome 鐵人賽

DAY 12
0
Python

一些Python可以做的事系列 第 12

[Python] Selenium 點擊和輸入

  • 分享至 

  • xImage
  •  

點擊和輸入

通常我們在瀏覽網頁都會進行輸入和點擊的動作,例如 : 查詢資料,輸入帳號密碼等。因此接下來我要學習的就是如何輸入搜尋資料。

以 google 查詢為例子 : 先在 google 首頁的查詢框內進行輸入,再點擊查詢

輸入

  1. send_keys : 模擬鍵盤輸入輸入框
  2. clear() : 清除輸入框內容

在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()

查詢

  1. 是先找元素屬性,再使用 chick() 去點擊
  2. 使用 send_keys 模擬鍵盤輸入(按下enter鍵)

Keys 套件 : 用於模擬鍵盤操作

導入Key模組 :

from selenium.webdriver.common.keys import Keys

常用操作如下 :

  • Keys.ENTER( Keys.RETURN ):ENTER 鍵
  • Keys.ESCAPE:Esc 鍵
  • Keys.ARROW_UP : 上箭頭
  • Keys.DOWN : 下箭頭
  • Keys.LEFT : 左箭頭
  • Keys.RIGHT : 右箭頭
  • Keys.DELETE:刪除鍵
  • Keys.CONTROL,‘a’ : 全選 Ctrl+A
  • Keys.CONTROL,‘c’ : 複製 CTRL+C
  • Keys.CONTROL,‘x’ : 剪下 CTRL+X
  • Keys.CONTROL,‘v’ : 貼上 Ctrl+V
  • Keys.PAGE_UP:Page Up鍵,頁面會向上滾動
  • Keys.PAGE_DOWN:Page Down鍵,可以頁面向下滾動

輸入完後進行點擊查詢

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


上一篇
[Python] Selenium 取得和操作網頁元素
下一篇
[Python] Selenium 登入實作
系列文
一些Python可以做的事30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言