0.Seleniumの説明
Seleniumは、WebアプリケーションをWebブラウザで表示したときに正常に表示されるか、ある操作をしたときに想定通りの画面に遷移するかなどユーザーインターフェイスのテストを自動化するために開発されたツールです。現在ではテストに使われるだけでなく、タスクの自動化やWebサイトのクローリングなど様々な用途で利用されています。
SeleniumがWebブラウザを操作するために開発したのが、プログラム上からWebブラウザを操作するためのライブラリWebDriverです。 現在ではWebDriverは標準技術としてW3Cに取り入れられており、主要なブラウザのベンダーがWebブラウザの標準機能としてWebDriverを実装しています。
1.Mac側の設定
前提: MacにPython3がインストールされていること。以下のようにpipコマンドを実行して、Seleniumをインストールします。
1 |
$ pip install selenium==3.141.0 |
2.iPhone側の設定
2.1.iPhoneとMacを接続する
ライトニングUSBケーブルを利用してiPhoneをMacに接続します。→「このコンピュータを信頼しますか?」画面が表示されるので「信頼」を選択します。
2.2.設定アプリでSafariの「リモートオートメーション」をオンにする
iOSのSafariの場合、設定アプリで「リモートオートメーション」をオンにすると、WebDriverを利用してSafariを操作することができます。設定アプリ→Safari→詳細→リモートオーメーションをオンに変更します。
3.Selenium用のpythonプログラムを作成する
以下のようなpythonプログラムを作成します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
import os import sys from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities # キャプチャした画像ファイルの保存名 filename = os.path.join(os.path.dirname(os.path.abspath(__file__)), "capture/image.png") desiredcapabilities= DesiredCapabilities.SAFARI.copy() desiredcapabilities["platform"]="ios" driver = webdriver.Safari(desired_capabilities=desiredcapabilities) driver.get("https://techblog.gmo-ap.jp") width = driver.execute_script("return document.body.scrollWidth;") height = driver.execute_script("return document.body.scrollHeight;") driver.set_window_size(width, height) driver.save_screenshot(filename) driver.quit() |
4.Seleniumを実行する
作成したpythonプログラムを実行します。
1 |
$ python capture.py |
5.まとめ
Seleniumを使ってiPhoneのSafariを操作する手順をご紹介しました。今回の内容が皆さんのお役に立てれば幸いです。