画面操作のRPA化を行うような場合にはSeleniumなどのライブラリを使用して行うことになります。
PythonでSeleniumを利用して画面操作をする場合には、まずは、PythonやSeleniumのダウンロード、インストールが必要になります。
それらについては以下の過去記事で説明しました。
また、プログラミングを行っていくうえで必要となるエディターについては無料エディターとして優秀なVisualStudioCodeのダウンロード、インストールについても以下の過去記事で説明しています。
画面操作に関しては、対象のウインドウを表示させ、操作したい要素を取得するところからはじまりますが、それについては、以下の過去記事などでも紹介しました。
今回は取得した要素の中でボタンなどクリック操作が可能な要素に関してのクリック操作について説明します。
簡単な使用例として載せているものは、Chrome用になりますがドライバーの設定以外はEdgeなどでも同様です。
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の場合の例となります。
from selenium import webdriver from selenium.webdriver.chrome import service as fs import os path_driver = os.getcwd()+'\chromedriver.exe' # ドライバー指定でChromeブラウザを開く chrome_service = fs.Service(executable_path=path_driver) driver = webdriver.Chrome(service=chrome_service) #指定した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()
GoogleChrome用のドライバー、chromedriver.exeをこのpyファイルと同じフォルダに入れておいての例になります(os.getcwd()がカレントディレクトリを指しています)。
これにより、Google検索画面を開いて検索キーワード入力欄に「abc」と入力し、その下の「Google検索ボタン」をクリックしての検索を実行します。
以上が、PythonでSeleniumを使用した場合のボタンなどの要素を取得してクリックする方法と実施例となります。
【Python】おすすめ学習本ランキング8選 - Django Girls and Boys 備忘録
【Python】キーボード、キー入力判定方法 - Django Girls and Boys 備忘録
【Python】keyboardライブラリでのキー入力検出に使用可能なキーの種類 - Django Girls and Boys 備忘録
【Python】Python、Selenium関連情報一覧(ダウンロード、インストール手順、各種やり方、使い方など) - Django Girls and Boys 備忘録
【Python Selenium】各ブラウザ用のドライバーを自動アップデートする方法 - Django Girls and Boys 備忘録
【PythonからWeb操作】seleniumのインストール手順 - Django Girls and Boys 備忘録
【Python Selenium】要素の属性名から属性値を取得する方法 - Django Girls and Boys 備忘録
【Python Selenium】スクレイピングのためのWebサイトアクセス例(Google検索キーワード入力など) - Django Girls and Boys 備忘録
【Python Selenium】サイトアクセス例(Google検索、スクレイピング、Excel書き込み) - Django Girls and Boys 備忘録