このページ【PART.9】では、XPATHコマンドの作成方法と使う場所についてご説明します。
TAG + POS、TAG + XPATHどちらを使っても(文字、リンク、画像など)をクリックできます。
POSは自動で書き込んでくれるのでiMacrosを使っていると必ず出てきます。
逆にXPATHは自分で取得して手動で書き込む必要があり、見たことがない方がほとんどです。
XPATHはPOSでクリックできない場所を指定するために使います。
ノーノちゃん
テイくん
このページの目次
1. POSとXPATHの違い
まずは、違いを確認しておきましょう。
POS | XPATH | |
---|---|---|
自動書き込み | ◯ | ✕ |
細かい指定 | ✕ | ◯ |
使いやすさ | 簡単 | 少し面倒 |
使用頻度 | 高い | 低い |
必須ブラウザ (取得時) |
特になし | *Firefox Quantum or Google Chrome |
*Firefox Quantumとは、FireFoxの最新バージョンの名前のことです。
XPATHでないと作れない場合とは?
XPATHはタイトル(文字列)、リンク先URLが定期的に変わる場合に使います。
具体的に言うと定期的に更新されるニュースサイトなどです。
ただ、以下の条件であればPOSでも可能な場合もあります。
- タイトル(文字列)、リンク先URLの場所だけの規則性がある
※ワイルドカードを使う - その場所だけ独自のclassやIDが付与されている場合
※リンクをクリックする場合は基本不可 - サイトの情報が少ない + 配置の変更がない
※上から何番目(POS=n番目)で簡単に指定できる
ノーノちゃん
テイくん
2. XPATHで作成してみよう
POSの場合とは違い、クリックする場所を自分で取得しますので面倒な部分があります。
ただ、POSで対応できない場所をXPATHで解決できるので覚えておいて損はないです。
それでは、練習編と実践編の2つ例を順番に解説していきます。
①練習編
まずは、練習用サイトでどうやって作成するのか確認しましょう。
作業の流れ
※動画(約3分)を確認後、下の解説を読んで頂くと分かりやすいと思います。
【STEP.1】マクロを作成
XPATH【練習用サイト】にアクセス
記憶を開始する
XPATHは自動で取得できませんので、何もクリックする必要はありません。
記憶を終了する
名前を変更する(省略可)
「#Current.iim」から「XPATH.iim」に変更しておきましょう。
【STEP.2】XPATHを取得
ソースコードを開く
「検証」の代わりにショートカットキー(CTRL + SHIFT + C)でもOKです。
XPATHを取得
XPATHを確認
テキストエディタ(メモ帳、TeraPad、秀丸など)に貼り付けて確認しましょう。
取得した場所が間違えていなければ以下のようになります。
//*[@id="entry"]/section/div[1]/ul/li[1]/a
ノーノちゃん
テイくん
【STEP.3】マクロを編集
編集画面を開く
先ほど「自動で作成されたマクロ」と「取得したXPATH」は以下のようになっています。
VERSION BUILD=8970419 RECORDER=FX
TAB T=1
URL GOTO=https://teilab-sub.net/?p=142
//*[@id="entry"]/section/div[1]/ul/li[1]/a
マクロを編集する
オレンジ色:変更した部分
緑色:メモ書き(コメントアウト)
VERSION BUILD=8970419 RECORDER=FX
TAB T=1
URL GOTO=https://teilab-sub.net/?p=142
'1番目をクリック
TAG XPATH="//*[@id="entry"]/section/div[1]/ul/li[1]/a"
もしも2番目や3番目をクリックする方法はこちら
'2番目をクリック
TAG XPATH="//*[@id="entry"]/section/div[1]/ul/li[2]/a"
'3番目をクリック
TAG XPATH="//*[@id="entry"]/section/div[1]/ul/li[3]/a"
【STEP.4】マクロを再生
作成したマクロをクリックする
Playを押す
何度か再生して順番が入れ替わってもエラーがでなければ成功です。
②実践編
実践編では誰もが知っている、Yahooニュースの記事をクリックするマクロ作成してみましょう。
時間によって記事タイトルが変わるのでXPATHで対応していきます。
作業の流れ
※動画(約3分)を確認後、下の解説を読んで頂くと分かりやすいと思います。
動画内:
//*[@id="topicsfb"]/div[1]/ul[1]/li[2]/a
解説:
//*[@id="tabpanelTopics1"]/div/div[1]/ul/li[2]/article/a
【STEP.1】マクロを作成
Yahooにアクセス
記憶を開始する
記憶を終了する
名前を変更する(省略可)
「#Current.iim」から「yahoo.iim」に変更しておきましょう。
【STEP.2】XPATHを取得
YahooにGoogle Chromeでアクセス
ソースコードを開く
XPATHを取得
XPATHを確認
//*[@id="tabpanelTopics1"]/div/div[1]/ul/li[2]/article/a
【STEP.3】マクロを編集
編集画面を開く
先ほど「自動で作成されたマクロ」と「取得したXPATH」は以下のようになっています。
VERSION BUILD=8970419 RECORDER=FX
TAB T=1
URL GOTO=https://www.yahoo.co.jp/
//*[@id="tabpanelTopics1"]/div/div[1]/ul/li[2]/article/a
マクロを編集する
オレンジ色:変更した部分
緑色:メモ書き(コメントアウト)
VERSION BUILD=8970419 RECORDER=FX
TAB T=1
URL GOTO=https://www.yahoo.co.jp/
'2記事目をクリック
TAG XPATH="//*[@id="tabpanelTopics1"]/div/div[1]/ul/li[2]/article/a"
もしも違う記事をクリックする場合はこちら
'1記事目をクリック
TAG XPATH="//*[@id="tabpanelTopics1"]/div/div[1]/ul/li[1]/article/a[1]/a"
'3記事目をクリック
TAG XPATH="//*[@id="tabpanelTopics1"]/div/div[1]/ul/li[3]/article/a[3]/a"
【STEP.4】マクロを再生
作成したマクロをクリックする
Playを押す
3. コマンドの解説
XPATH
TAG XPATH="//*[@id="entry"]/section/div[1]/ul/li[1]/a"
TAG XPATH="//*[@id="tabpanelTopics1"]/div/div[1]/ul/li[2]/article/a"
- TAG
どこの場所をクリックするか指定するために使用します - XPATH(エックスパス)
XPATHを使うと指示する "
(ダブルクォーテーションマーク)
XPATHを"
で両端を囲う
Google Chromeで取得したXPATHを以下の★の部分に貼り付けします。
TAG XPATH="★ここに貼り付ける★"
POSがざっくりした位置を指定するのに対して、XPATHが正確な位置を指定することができるコマンドです。
次の項目で、どのように位置を指定しているのか確認してみましょう。
XPATH【練習用サイト】の場合
解説に使ったのは①練習編のXPATH【練習用サイト】です。
Yahooの場合
以前:
//*[@id="topicsfb"]/div[1]/ul[1]/li[2]/a
現在:
//*[@id="tabpanelTopics1"]/div/div[1]/ul/li[2]/article/a
解説に使ったのは②実践編のYahooです。
ノーノちゃん
テイくん
4. よくあるエラー事例
"(ダブルクオーテーション)
で両端を囲い忘れていたり、半角ではなく全角になっていないかなど再度確認しましょう。5. まとめ
今回【PART.9】ではXPATHを使って、文字やリンク先URLが変わってもクリックできる方法をお伝えしました。
このコマンドは使用頻度が少ないですが、覚えていると凄く役に立ちます。
- POSでうまく作成出来なかった時に使用
- Google Chromeを使って取得
- 自分で作成する必要はなし
次回予告
次回【PART.10】は、今まで出てきたコマンドの復習と新しいマクロの一覧になります。
サンプルマクロを大量に載せていますので、今後のiMacros作成に役立てて頂ければと思います。
iMacros:コマンド一覧と使い方(大量のサンプルマクロあり)【PART.10】