Django Girls and Boys 備忘録

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

【Python Selenium】要素に入力された値をクリアする方法

Pythonでseleniumを利用して要素に入力処理を行う場合はsend_keys()などを使用しますが、今回は入力した値をクリアする方法になります。

 

 

 

 

1.要素の値をクリアする方法

 

通常入力した値をクリアする場合にはclear()を使用します。

 

値をクリアしたい要素を洗い出してその要素に対してclear()処理を実行すれば要素内の値はクリアされます。

 

要素に入力された値をクリアする簡単な例としてGoogle検索画面にアクセスして、キーワード入力後、その値をクリアするような例を載せておきたいと思います。

 

Chromeの場合の例が以下になります。

 

以下の例の中では、os.getcwd()はカレントディレクトリを表しています。

 

実行する場合には、chromedriver.exeを同じディレクトリ内(カレントディレクトリ)に入れた状態で実行してください。

 

from selenium import webdriver
from selenium.webdriver.chrome import service as fs
import os
from selenium.webdriver.common.by import By

path_driver = os.getcwd()+'\chromedriver.exe'
# ドライバー指定でChromeブラウザを開く
chrome_service = fs.Service(executable_path=path_driver)
driver = webdriver.Chrome(service=chrome_service)

driver.get('https://www.google.com/')

element = driver.find_element(By.NAME, "q")

#検索テキストボックスに"abc"を入力
element.send_keys("abc")

#入力された"abc"をクリア
element.clear() # タブを閉じる driver.close() driver.quit()

 

同様にEdgeの場合は以下になります。

6~9行目のドライバーの設定の箇所が違うだけです。

 

from selenium import webdriver
from selenium.webdriver.chrome import service as fs
import os
from selenium.webdriver.common.by import By

path_driver = os.getcwd()+'\msedgedriver.exe'
# ドライバー指定でEdgeブラウザを開く
edge_service = fs.Service(executable_path=path_driver)
driver = webdriver.Edge(service=edge_service)

driver.get('https://www.google.com/')

element = driver.find_element(By.NAME, "q")

#検索テキストボックスに"abc"を入力
element.send_keys("abc")

#検索実行
element.clear()

# タブを閉じる
driver.close()

driver.quit()

 

上記例では、

 

4行目までで必要なライブラリのインポートを行っています。

 

6~9行目はChrome用またはEdge用のドライバー設定となります。

 

6行目のos.getcwd()はカレントディレクトリを表しています。

 

6行目により、path_driverに、chromedriver.exeまたはmsedgedriver.exeのpathが入ります。

このパスの指定から、8,9行目でdriverの設定をしています。

 

このdriverを使用して、11行目でdriver.getの後にオープンしたいURLとしてGoogle検索画面のURLを指定することで検索画面を開いています。

 

その後、13行目で画面内で検索キーワード入力窓の要素を探索して「element」に設定しています。

 

16行目でsend_keysに検索用のキーワード「abc」を引数として渡すことで検索窓にキーワードを入力しています。

 

19行目のelement.clear()で入力した値「abc」をクリアしています。

 

22、24行目で開いたウインドウを閉じて終了させています。

 

これにより、Google検索画面を表示しキーワード入力後にクリア処理をして、ウインドウを閉じて終了するまでの一連の流れができることになると思います。

 

以上が要素に入力された値をクリアする方法になります。

 

 

 

 

 

Web上のデータ取得、操作に関する参考書籍、サイトなどは、以下の過去記事にも載せていますのでよかったらご参照ください。

 

kuku81kuku81.hatenablog.com

 

 

また、Seleniumを活用したスクレイピングのための一通りの手順としてVisualStudioCodeなどのインストールや簡単なWebサイトアクセス例などは以下にも載せていますのでもしよければ見てみてください。

 

 

kuku81kuku81.hatenablog.com