icon
icon

Pythonのseleniumにおけるブラウザ(chrome)自動操作について現役エンジニアが解説【初心者向け】

初心者向けにPythonのseleniumにおけるブラウザ(chrome)自動操作について解説しています。ここではSeleniumの導入と自動操作のプログラミング方法、使用時の注意点について説明します。サンプルで動作を確認してみましょう。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

Pythonのseleniumにおけるブラウザ(chrome)自動操作について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

そもそもPythonについてよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプPython講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

seleniumにおけるブラウザ(chrome)自動操作について詳しく説明していくね!

大石ゆかり

お願いします!

目次

 

seleniumとは

Selenium(セレニウム)とは、WEBブラウザの操作を自動化するフレームワークです。当初は、WEBアプリケーションでのUIテストを自動化する目的で作られました。現在は、当初の目的のWEBアプリケーションのテストのみならずスクレイピングというWEB上から情報を取得するなどの様々な用途で使用されています。

用意するのは、「ブラウザ」と「Selenium」と「WebDriver」の3つを用意します。「ブラウザ」は、今回は「Chrome」を使用します。「WebDriver」とは、SeleniumがChromeを操作するために必要なソフトです。

今回は、Chromeを対象として扱うので、「Chrome WebDriver」というソフトを使います。

 

[PR] 未経験からWebエンジニアを目指す方法とは

seleniumの使い方

今回は、PythonでSeleniumの使い方を解説します。まずは、使っていく上で、以下の注意点を押さえておきましょう。

  • サーバに負荷を掛ける処理は行わない
  • 対象のサイトでの利用規約で禁止されていないか確認

 

Pythonで手軽に使う方法としては、Pythonをインストールしたときに付いている、パッケージ管理ツール「pip」からインストールする方法です。「コマンドプロンプト(Windows)」または「ターミナル(Mac/Linux)」を開き、下記のコマンドを入力します。

$ pip install selenium

$ pip install chromedriver-binary-auto

これで、準備は完了です。次は実際にプログラムで自動操作を行います。

 

seleniumを利用してchromeの自動操作をプログラムしてみよう

それでは、プログラミングしていきましょう。以下のようなコードを書いてみましょう。

import time
from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://www.google.com/')
time.sleep(5)
search_box = driver.find_element_by_name("q")
search_box.send_keys('りんご')
search_box.submit()
time.sleep(5)
driver.quit()

実行すると

Googleの検索画面が開いた後、「りんご」が検索欄に挿入され、検索結果画面が表示されると思います。

 

まとめ

今回は、PythonでSeleniumを使った自動操作について解説しました。ぜひ、使ったことない方や興味のある方がいれば、この機会に使ってみてはいかがでしょうか。

 

監修してくれたメンター

土井友裕(どいともひろ)

社内エンジニアとして、活動をしています。

扱えるプログラミング言語は、Python、Ruby、Dart(Flutter)、C# 、Java…他 など幅広く経験しております。開発実績としては、大手医療機器メーカーのWEBシステムの開発に従事しておりました。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でもPythonを使った人工知能(AI)や機械学習の基礎を習得できるオンラインブートキャンプPython講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。