見出し画像

python:簡単なRPAを作る

巷で人気が出ているRPAはpythonのSeleniumを使うと簡単に自分で作ることができます。(ブラウザ操作を伴うもの)

RPAって何?

RPAとは「ロボティック・プロセス・オートメーション」の略語です。

簡単な事務作業をロボットが行ってくれるようなイメージです。

詳しくは下記の記事に記載されていますのでご参照ください。

Pythonって何?

Pythonとは、C言語やJavaと同じ、プログラミング言語の一種です。

Pythonはプログラミング言語の中でも理解しやすく、海外ではプログラミングを勉強する第一歩はPythonを進めている国もあります。

また、GoogleやYoutube、Facebook等もPythonを使用しており、今後、さらに注目されるであろう言語だと思います。


Seleniumって何?

今回、ブラウザ(GoogleChrome)を操作するのでSeleniumと呼ばれるライブラリを使いましょう。

下記の記事にとても分かりやすくまとめられているので一読いただければすぐ理解できると思います。

https://tanuhack.com/python/selenium/

実際にRPAを作ってみる

今回はGoogleで指定の文字を検索し、その記事を羅列していくような本当に簡単なRPAです。

キャプチャ

キャプチャ


コード全体像

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.common.exceptions import TimeoutException

#検索したい言葉を入力
search_word = input('検索したい言葉を入力してください:')

#Webdriverの設定
driver = webdriver.Chrome("C:/Users/user/Desktop/Selenium/chromedriver.exe")
driver.get("https://www.google.com/?hl=ja")
driver.implicitly_wait(20)
search_window = driver.find_element_by_xpath('//*[@id="tsf"]/div[2]/div[1]/div[1]/div/div[2]/input')
search_window.send_keys(search_word)
search_window.send_keys(Keys.ENTER)

#記事の数取得
def title_count():
   search_title_count = len(driver.find_elements_by_class_name("ellip"))
   
#title取得
def data():
   for data in range(search_title_count):
       try:
           search_title = driver.find_elements_by_class_name("ellip")[data]
           print(search_title.text)
       except IndexError:
           pass

#次へページクリック
def next_page():
   driver.find_element_by_xpath('//*[@id="pnnext"]/span[2]').click()

#2ページ分のデータ取得
for i in range(2):
   title_count()
   data()
   next_page()


上記のコードで#Webdriverの設定のwebdriverの保存パスだけ変更すればそのまま使用できます。(使用用途がないかもしれませんが。。)


この記事が気に入ったらサポートをしてみませんか?