
Seleniumでは、入力フォームに文字を入力することができます。
例えば次のような操作です。
-
ログインフォーム
-
検索フォーム
-
問い合わせフォーム
この記事では 入力フォームに文字を入力する方法を解説します。
文字を入力する基本
入力には send_keys() を使います。
例:Google検索
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
# Chrome WebDriverのパスを指定
driver = webdriver.Chrome('./chromedriver')
# Googleにアクセス
driver.get('https://www.google.com')
# 検索ボックスを見つける
search_box = driver.find_element(By.NAME, 'q')
# キーワードを入力して検索
search_box.send_keys('abc')
Enterキーを押す
検索を実行する場合は Enterキーを送信できます。
先程の例の最後にEnterキーを送信を追加すると以下の様になります。
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
# Chrome WebDriverのパスを指定
driver = webdriver.Chrome('./chromedriver')
# Googleにアクセス
driver.get('https://www.google.com')
# 検索ボックスを見つける
search_box = driver.find_element(By.NAME, 'q')
# キーワードを入力して検索
search_box.send_keys('abc')
search_box.send_keys(Keys.RETURN)
入力内容をクリアする
既に入力されている文字を消す場合は clear() を使います。
textbox.clear()
その後入力できます。
textbox.send_keys("Python")
まとめ
Seleniumで入力フォームに文字を入力する基本コードは次の通りです。
textbox = driver.find_element(By.NAME, "q")
textbox.send_keys("Python")
send_keys() を使うことで、ブラウザ操作を自動化できます。