Django Girls and Boys 備忘録

Python、Selenium、Django、java、iPhoneアプリ、Excelマクロなどで気付いたこと、覚えておきたいことなどを載せていきます。

【Python Selenium】入力フォームに文字を入力する方法

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() を使うことで、ブラウザ操作を自動化できます。