Django Girls and Boys 備忘録

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

【Python Selenium】サイト内のボタンなどの要素をクリックする方法(SeleniumVer4.6以降)

 

画面操作のRPA化を行うような場合にはSeleniumなどのライブラリを使用して行うことになります。

 

その中で画面操作に関しては、対象のウインドウを表示させ、操作したい要素を取得するところからはじまりますが、それについては、以下の過去記事などでも紹介しました。

 

kuku81kuku81.hatenablog.com

 

kuku81kuku81.hatenablog.com

 

 

今回は取得した要素の中でボタンなどクリック操作が可能な要素に関してのクリック操作について説明します。

 

 

簡単な使用例として載せているものは、Chrome用になりますがドライバーの設定以外はEdgeなどでも同様です。

 

尚、Seleniumのバージョンアップでウェブドライバーの設定方法が変わったこともあり、以下のコード例はSelenium Ver.4.6以降の場合の例として記載しています。

 

 Ver.4.6以前の場合については以下の過去記事などで載せています。

違いはドライバーの設定方法だけですが。

 

kuku81kuku81.hatenablog.com

 

 

1.取得した要素をクリックする方法

 

通常、操作したい画面上の要素はfind_elementなどを使用して、

たとえば、name属性がついている場合、

 

driver.find_element(By.NAME, "name_a")

 

また、id属性がついている場合、

 

driver.find_element(By.ID, "id_a")

 

などと取得します。

上記例では"name_a"がその要素のname属性、"id_a"がid属性の場合として例を記載しています。

 

このようにして取得した要素に対して要素がボタンなどクリック可能な要素の場合にはクリックできます。

 

その場合の指定の仕方としては、

 

element.click()

 

となります。

 

これだけです。

 

これらを使用した例としては、たとえば、以下のようなものがあります。

 

以下は、Chromeの場合の例となります。

 

selenium ver.4.6以降の場合)

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait

######################################################################
driver = webdriver.Chrome() ######################################################################
#指定したURLに遷移する driver.get("https://www.google.co.jp") #キーワード入力ウインドウ要素取得 element = driver.find_element(By.NAME, "q") #検索テキストボックスに"abc"を入力 element.send_keys("abc") #Google検索ボタン取得 element = driver.find_element(By.NAME, "btnK") #検索ボタンクリック element.click() # タブを閉じる driver.close() driver.quit()

 

element.click()がGoogle検索画面で検索ボタンをクリックするコードです。

 

これにより、Google検索画面を開いて検索キーワード入力欄に「abc」と入力し、その下の「Google検索ボタン」をクリックしての検索を実行します。

 

 

以上が、PythonでSeleniumを使用した場合のボタンなどの要素を取得してクリックする方法と実施例となります。