iMacrosをダウンロードした時に入っている、DEMO(サンプル)マクロを解説しているページです。
最初から「Demo-Firefox」「Demo-Chrome」などのファイルが用意されています。今回は、Firefox版のiMacros8.9.7のDEMOマクロの中身がメインです。
他のバージョンやブラウザは、少し違う部分もありますが基本的には同じです。ただ制限が多いので、Firefox版のiMacros8.9.7(無料)がおすすめです。
導入されたい方は「iMacrosに必要なFirefox導入方法と初期設定」をご覧頂ければと思います。
ノーノちゃん
でも英語で書かれていて、よく分からなかったよ(T_T)
それでは、順位に解説していきます(#^.^#)
テイくん
1. マクロ目次
データ入力 | |
---|---|
ExtractAndFill | 抜き出した複数データをまとめて入力欄に記入 |
FillForm-XPath | テストフォームに記入(TAG XPATH) |
FillForm | テストフォームに記入(TAG POS) |
Loop-Csv-2-Web | CSVデータを順番にフォームに入力(LOOP) |
データ抜き出し | |
ArchivePage | サイトの中身を全て抜き出す |
Extract | テキスト、タイトル、URL、ALT抜き出す |
ExtractRelative | TAG POS=Rを使って表からデータを抜き出す |
ExtractTable | テーブルの中身(テキスト)を全て抜き出す |
ExtractURL | 同じ場所で複数データを抜き出す |
SaveAs | ページ全体の中身を抜き出す |
ダウンロード、アップロード | |
Download | 特定のファイルをダウンロードする |
SavePDF | PDFをダウンロードする |
Upload | ファイルをアップロードする |
その他 | |
Filter | 画像フィルターを使って画像を非表示 |
Javascript-Dialogs | ダイアログ内をクリック |
Open6Tabs | タブを1個づつ開きながら各ページにアクセス |
SlideShow | 自作スライドショー |
Tabs | Popupで3つ開いたタブの最後を選ぶ |
TagPosition | LOOPを使って順番にリンクをクリック |
TakeScreenshot-FX | スクリーンショットを撮る |
2. データ入力
抜き出した複数データをまとめて入力欄に記入
ファイル名:ExtractAndFill.iim
VERSION BUILD=7500718 RECORDER=FX
TAB T=1
SET !REPLAYSPEED MEDIUM
URL GOTO=http://demo.imacros.net/Automate/ExtractDemo
'テキストを抜き出す
TAG POS=39 TYPE=TD ATTR=TXT:* EXTRACT=TXT
'抜き出したテキスト(EXTRACT)をVAR1に保存
SET !VAR1 {{!EXTRACT}}
'EXTRACTに残っているデータを破棄する
SET !EXTRACT NULL
'テキストを抜き出す
TAG POS=40 TYPE=TD ATTR=TXT:* EXTRACT=TXT
'抜き出したテキスト(EXTRACT)をVAR2に保存
SET !VAR2 {{!EXTRACT}}
'EXTRACTに残っているデータを破棄
SET !EXTRACT NULL
'テキストを抜き出す
TAG POS=41 TYPE=TD ATTR=TXT:* EXTRACT=TXT
'抜き出したテキスト(EXTRACT)をVAR3に保存
SET !VAR3 {{!EXTRACT}}
'EXTRACTに残っているデータを破棄
SET !EXTRACT NULL
'テスト入力フォームにアクセス
URL GOTO=http://demo.imacros.net/Automate/TestForm1
'Nameの欄に「デモ」と入力
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=NAME:name CONTENT="デモ"
'Remarksの欄にVAR1、VAR2、VAR3のデータを入力
TAG POS=1 TYPE=TEXTAREA FORM=ID:demo ATTR=NAME:Remarks CONTENT="現在のレート:
1ドル {{!VAR1}} ユーロの場合{{!VAR2}} ポンドの場合{{!VAR3}} 日本円の場合"
VERSION BUILD=7500718 RECORDER=FX
TAB T=1
SET !REPLAYSPEED MEDIUM
URL GOTO=http://demo.imacros.net/Automate/ExtractDemo
TAG POS=39 TYPE=TD ATTR=TXT:* EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=40 TYPE=TD ATTR=TXT:* EXTRACT=TXT
SET !VAR2 {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=41 TYPE=TD ATTR=TXT:* EXTRACT=TXT
SET !VAR3 {{!EXTRACT}}
SET !EXTRACT NULL
URL GOTO=http://demo.imacros.net/Automate/TestForm1
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=NAME:name CONTENT="デモ"
TAG POS=1 TYPE=TEXTAREA FORM=ID:demo ATTR=NAME:Remarks CONTENT="現在のレート:
1ドル {{!VAR1}} ユーロの場合{{!VAR2}} ポンドの場合{{!VAR3}} 日本円の場合"
マクロの解説
まず現在のレートを表から抜き出してVAR1、VAR2、VAR3に保存します。
その後、VAR1~VAR3のデータに文字を追加して記入欄に入力するマクロです。
このマクロのポイントは、SET !EXTRACT NULLでEXTRACTデータを破棄することです。
もし破棄しなかった場合は、前のデータが残っている状態で入力欄に記入すると、以下のようになりますので注意しましょう。
を入れます。その場合必ずCONTENT=の中身を
ダブルコーテーション(")
で囲う必要があります。※1番下の現在のレートの後に使っています。
テストフォームに記入(TAG XPATH)
ファイル名:FillForm-XPath.iim
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
URL GOTO=http://demo.imacros.net/Automate/TestForm1
'Nameに「テイくん テイラボ」と入力
'※CONTENT内にスペースがある場合は、ダブルコーテーション(")で囲う必要があります
TAG XPATH="//form[@id='demo']/fieldset[1]/ol/li[1]/input[1]" CONTENT="テイくん テイラボ"
'What do you want to eat?で「Pizza」を選ぶ
TAG XPATH="//form[@id='demo']/fieldset[1]/ol/li[2]/select" CONTENT=%Pizza
'What do you want to drink?で「Coke」を選ぶ
TAG XPATH="//form[@id='demo']/fieldset[1]/ol/li[3]/select" CONTENT=%Coke
'Sizeで「Medium」を選ぶ
TAG XPATH="//form[@id='demo']/fieldset[1]/ol/li[4]/input[2]" CONTENT=YES
'What dessert do you want?で「Apple Pie」と「Fruits」を選ぶ
'複数選択する場合は、コロン(:)を使います
TAG XPATH="//form[@id='demo']/fieldset[1]/ol/li[5]/select" CONTENT=$Apple<SP>Pie:$Fruits
'Are you already a customerで「Yes」を選ぶ
TAG XPATH="//form[@id='demo']/fieldset[1]/ol/li[6]/input[1]" CONTENT=YES
'マスターパスワードを設定しない
SET !ENCRYPTION NO
'Passwordで「tester」と入力
TAG XPATH="//form[@id='demo']/fieldset[1]/ol/li[6]/input[2]" CONTENT=tester
'Remarksに「こんにちは!iMacrosは凄く便利ですね。テイくん テイラボ」と入力
TAG XPATH="//form[@id='demo']/fieldset[1]/ol/li[7]/textarea" CONTENT="こんにちは!
iMacrosは凄く便利ですね。
テイくん テイラボ"
'CLICK TO OREER NOWをクリック
TAG XPATH="//form[@id='demo']/fieldset[2]/button"
'5秒の待ち時間
WAIT SECONDS=5
'完了ページにアクセス
URL GOTO=http://demo.imacros.net/Automate/OK
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
URL GOTO=http://demo.imacros.net/Automate/TestForm1
TAG XPATH="//form[@id='demo']/fieldset[1]/ol/li[1]/input[1]" CONTENT="テイくん テイラボ"
TAG XPATH="//form[@id='demo']/fieldset[1]/ol/li[2]/select" CONTENT=%Pizza
TAG XPATH="//form[@id='demo']/fieldset[1]/ol/li[3]/select" CONTENT=%Coke
TAG XPATH="//form[@id='demo']/fieldset[1]/ol/li[4]/input[2]" CONTENT=YES
TAG XPATH="//form[@id='demo']/fieldset[1]/ol/li[5]/select" CONTENT=$Apple<SP>Pie:$Fruits
TAG XPATH="//form[@id='demo']/fieldset[1]/ol/li[6]/input[1]" CONTENT=YES
SET !ENCRYPTION NO
TAG XPATH="//form[@id='demo']/fieldset[1]/ol/li[6]/input[2]" CONTENT=tester
TAG XPATH="//form[@id='demo']/fieldset[1]/ol/li[7]/textarea" CONTENT="こんにちは!
iMacrosは凄く便利ですね。
テイくん テイラボ"
TAG XPATH="//form[@id='demo']/fieldset[2]/button"
WAIT SECONDS=5
URL GOTO=http://demo.imacros.net/Automate/OK
マクロの解説
XPATHを使ってテストフォームに書き込むマクロです。
通常のPOSと違い自動で書き込んでくれないのが難点ですが、テキストやリンク先が変わってもエラーが起きないので便利です。
iMacros:TAGコマンドのPOSとXPATHのを使い分ける基準と使い方【PART.9】
を使ってTAB分(SPACE4回分)空けることができます。(改行)と同じく必ずCONTENT=の中身を
ダブルコーテーション(")
で囲う必要があります。テストフォームに記入(TAG POS)
ファイル名:FillForm.iim
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1
URL GOTO=http://demo.imacros.net/Automate/TestForm1
'Nameに「テイくん テイラボ」と入力
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=ID:name CONTENT="テイくん テイラボ"
'What do you want to eat?で「Pizza」を選ぶ
TAG POS=1 TYPE=SELECT FORM=ID:demo ATTR=ID:food CONTENT=%Pizza
'What do you want to drink?で「Coke」を選ぶ
TAG POS=1 TYPE=SELECT FORM=ID:demo ATTR=ID:drink CONTENT=%Coke
'Sizeで「Medium」を選ぶ
TAG POS=1 TYPE=INPUT:RADIO FORM=ID:demo ATTR=ID:medium&&VALUE:medium CONTENT=YES
'What dessert do you want?で「Apple Pie」と「Fruits」を選ぶ
'複数選択する場合は、コロン(:)を使います
TAG POS=1 TYPE=SELECT FORM=ID:demo ATTR=ID:dessert CONTENT=%"ice cream":%"Apple Pie"
'Are you already a customerで「Yes」を選ぶ
TAG POS=1 TYPE=INPUT:RADIO FORM=ID:demo ATTR=NAME:Customer CONTENT=YES
'マスターパスワードを設定しない
SET !ENCRYPTION NO
'Passwordで「tester」と入力
TAG POS=1 TYPE=INPUT:PASSWORD FORM=ID:demo ATTR=NAME:Reg_code CONTENT=tester
'CLICK TO OREER NOWをクリック
TAG POS=1 TYPE=BUTTON:SUBMIT FORM=ID:demo ATTR=TXT:"Click to order now"
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1
URL GOTO=http://demo.imacros.net/Automate/TestForm1
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=ID:name CONTENT="テイくん テイラボ"
TAG POS=1 TYPE=SELECT FORM=ID:demo ATTR=ID:food CONTENT=%Pizza
TAG POS=1 TYPE=SELECT FORM=ID:demo ATTR=ID:drink CONTENT=%Coke
TAG POS=1 TYPE=INPUT:RADIO FORM=ID:demo ATTR=ID:medium&&VALUE:medium CONTENT=YES
TAG POS=1 TYPE=SELECT FORM=ID:demo ATTR=ID:dessert CONTENT=%"ice cream":%"Apple Pie"
TAG POS=1 TYPE=INPUT:RADIO FORM=ID:demo ATTR=NAME:Customer CONTENT=YES
SET !ENCRYPTION NO
TAG POS=1 TYPE=INPUT:PASSWORD FORM=ID:demo ATTR=NAME:Reg_code CONTENT=tester
TAG POS=1 TYPE=BUTTON:SUBMIT FORM=ID:demo ATTR=TXT:"Click to order now"
マクロの解説
テストフォームに書き込むマクロです。
CSVデータを順番にフォームに入力(LOOP)
ファイル名:Loop-Csv-2-Web.iim
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1
'※iMacrosダウンロード時に元々入ってるAddress.csvを使っています
SET !DATASOURCE Address.csv
'2列目のデータから順番に使う
SET !LOOP 2
'繰り返すごとに'2→3→4…列目と増えていく
SET !DATASOURCE_LINE {{!LOOP}}
URL GOTO=http://demo.imacros.net/Automate/AutoDataEntry
'「First Name」にデータの1列目を入力
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=NAME:fname CONTENT={{!COL1}}
'「Last Name」にデータの2列目を入力
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=NAME:lname CONTENT={{!COL2}}
'「Address」にデータの3列目を入力
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=NAME:address CONTENT={{!COL3}}
'「City」にデータの4列目を入力
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=NAME:city CONTENT={{!COL4}}
'「Zip Code」にデータの5列目を入力
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=NAME:zip CONTENT={{!COL5}}
'「State」にデータの6列目の州を選ぶ
TAG POS=1 TYPE=SELECT FORM=ID:demo ATTR=NAME:state CONTENT=$*{{!COL6}}*
'「Country」にデータの7列目の国を選ぶ
TAG POS=1 TYPE=SELECT FORM=ID:demo ATTR=NAME:country CONTENT=$*{{!COL7}}*
'「Email」にデータの8列目を入力
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=NAME:email CONTENT={{!COL8}}
'Submitボタンをクリック
TAG POS=1 TYPE=BUTTON:submit FORM=ID:demo ATTR=TXT:Submit
'Back to data entry demoをクリック
TAG POS=1 TYPE=A ATTR=TXT:*Back*
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1
SET !DATASOURCE Address.csv
SET !LOOP 2
SET !DATASOURCE_LINE {{!LOOP}}
URL GOTO=http://demo.imacros.net/Automate/AutoDataEntry
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=NAME:fname CONTENT={{!COL1}}
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=NAME:lname CONTENT={{!COL2}}
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=NAME:address CONTENT={{!COL3}}
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=NAME:city CONTENT={{!COL4}}
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=NAME:zip CONTENT={{!COL5}}
TAG POS=1 TYPE=SELECT FORM=ID:demo ATTR=NAME:state CONTENT=$*{{!COL6}}*
TAG POS=1 TYPE=SELECT FORM=ID:demo ATTR=NAME:country CONTENT=$*{{!COL7}}*
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=NAME:email CONTENT={{!COL8}}
TAG POS=1 TYPE=BUTTON:submit FORM=ID:demo ATTR=TXT:Submit
TAG POS=1 TYPE=A ATTR=TXT:*Back*
マクロの解説
!DATASOURCEと!LOOPコマンドを使って、CSVデータを上から順番に入力するマクロです。
iMacros:CSVファイル(DATASOURCE)データを利用して自動入力【PART.4】
3. データ抜き出し
サイトの中身を全て抜き出す
ファイル名:ArchivePage.iim
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
'「入力したページURL」+「NoName_Time_現在(年月_日時秒)」をVAR1に保存
PROMPT "Enter a Page Name" !VAR1 NoName_Time_{{!NOW:yyyymmdd_hhnnss}}
'「入力したページURL」全てのデータをVAR1のファイル名で保存
SAVEAS TYPE=CPL FOLDER=* FILE={{!VAR1}}
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
PROMPT "Enter a Page Name" !VAR1 NoName_Time_{{!NOW:yyyymmdd_hhnnss}}
SAVEAS TYPE=CPL FOLDER=* FILE={{!VAR1}}
マクロの解説
入力欄にURLを入れて頂くと、そのページの全てのデータ(文字、画像、HTMLなど)をDownloadsに保存してくれます。
テキスト、タイトル、URL、ALT抜き出す
ファイル名:Extract.iim
VERSION BUILD=8031994
SET !REPLAYSPEED MEDIUM
TAB T=1
URL GOTO=http://demo.imacros.net/Automate/Extract2
'テキストを抜き出す
TAG POS=1 TYPE=TD ATTR=CLASS:bdytxt&&TXT:* EXTRACT=TXT
'タイトルを抜き出す
TAG POS=1 TYPE=A ATTR=TXT:H*links* EXTRACT=TITLE
'HTMLを抜き出す
TAG POS=1 TYPE=SPAN ATTR=CLASS:bdytxt&&TXT:* EXTRACT=HTM
'「HREF extracts links」のリンク先URLを抜き出す
TAG POS=1 TYPE=A ATTR=TXT:HREF<SP>extracts<SP>links EXTRACT=HREF
'ALT(画像)を抜き出す
TAG POS=1 TYPE=IMG ATTR=SRC:*shark_thumbnail.jpg EXTRACT=ALT
'テキストを抜き出す
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:form1 ATTR=NAME:abc EXTRACT=TXT
'テキストを抜き出す
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:form1 ATTR=ID:TF2 EXTRACT=TXT
'テキストを抜き出す
TAG POS=2 TYPE=TABLE ATTR=TXT:*My* EXTRACT=TXT
'テキストを抜き出す
TAG POS=1 TYPE=TD ATTR=CLASS:bdytxt&&TXT:* EXTRACT=TXT
'※通常のPOSとは違う使い方なので注意!!
'①MyTable(TH)の位置を基準に変更
TAG POS=1 TYPE=TH ATTR=TXT:MyTable
'②MyTable(TH)の位置から3番目のテキストを抜き出す
TAG POS=R3 TYPE=TD ATTR=TXT:* EXTRACT=TXT
VERSION BUILD=8031994
SET !REPLAYSPEED MEDIUM
TAB T=1
URL GOTO=http://demo.imacros.net/Automate/Extract2
TAG POS=1 TYPE=TD ATTR=CLASS:bdytxt&&TXT:* EXTRACT=TXT
TAG POS=1 TYPE=A ATTR=TXT:H*links* EXTRACT=TITLE
TAG POS=1 TYPE=SPAN ATTR=CLASS:bdytxt&&TXT:* EXTRACT=HTM
TAG POS=1 TYPE=A ATTR=TXT:HREF<SP>extracts<SP>links EXTRACT=HREF
TAG POS=1 TYPE=IMG ATTR=SRC:*shark_thumbnail.jpg EXTRACT=ALT
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:form1 ATTR=NAME:abc EXTRACT=TXT
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:form1 ATTR=ID:TF2 EXTRACT=TXT
TAG POS=2 TYPE=TABLE ATTR=TXT:*My* EXTRACT=TXT
TAG POS=1 TYPE=TD ATTR=CLASS:bdytxt&&TXT:* EXTRACT=TXT
TAG POS=1 TYPE=TH ATTR=TXT:MyTable
TAG POS=R3 TYPE=TD ATTR=TXT:* EXTRACT=TXT
マクロの解説
各データ(テキスト、タイトル、URL、ALT)を抜き出して、Downloadsに保存してくれるマクロです。
それとTAG POS=R3は通常の使い方と違い、マークした場所から3番目の場所を指定できます。
詳しくは、次の項目「TAG POS=Rを使って表からデータを抜き出す」のDEMOマクロで確認して頂ければと思います。
iMacros:EXTRACTで文字、HTML、画像を抜き出す【PART.5】
実例はこちら ※難易度高めです
ブログ記事のネタ(ヤフー知恵袋)をiMacrosで自動取得しよう!
TAG POS=Rを使って表からデータを抜き出す
ファイル名:ExtractRelative.iim
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1
URL GOTO=http://demo.imacros.net/Automate/Extract2
'ページの1番上から13番目TDのデータ抜き出す
TAG POS=13 TYPE=TD ATTR=TXT:* EXTRACT=TXT
'---------------CASE1---------------
'MyTable(TH)の位置を基準に変更
TAG POS=1 TYPE=TH ATTR=TXT:MyTable
'MyTable(TH)から3番目TDのデータ抜き出す
TAG POS=R3 TYPE=TD ATTR=TXT:* EXTRACT=TXT
'3番目TDの位置から1番目(実際は4番目)TDのデータ抜き出す
TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT
'4番目TDの位置から1番目(実際は5番目)TDのデータ抜き出す
TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT
'---------------CASE2---------------
'MyTable(TH)の位置を基準に変更
TAG POS=1 TYPE=TH ATTR=TXT:MyTable
'MyTable(TH)から3番目TDのデータ抜き出す
TAG POS=R3 TYPE=TD ATTR=TXT:* EXTRACT=TXT
'MyTable(TH)の位置を基準に変更
TAG POS=1 TYPE=TH ATTR=TXT:MyTable
'MyTable(TH)から4番目TDのデータ抜き出す
TAG POS=R4 TYPE=TD ATTR=TXT:* EXTRACT=TXT
'MyTable(TH)の位置を基準に変更
TAG POS=1 TYPE=TH ATTR=TXT:MyTable
'MyTable(TH)から5番目TDのデータ抜き出す
TAG POS=R5 TYPE=TD ATTR=TXT:* EXTRACT=TXT
'---------------CASE3---------------
'テキスト3の位置を基準に変更
TAG POS=1 TYPE=TD ATTR=TXT:3
'テキスト3からマイナス2番目のTDのデータ抜き出す
TAG POS=R-2 TYPE=TD ATTR=TXT:* EXTRACT=TXT
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1
URL GOTO=http://demo.imacros.net/Automate/Extract2
TAG POS=13 TYPE=TD ATTR=TXT:* EXTRACT=TXT
TAG POS=1 TYPE=TH ATTR=TXT:MyTable
TAG POS=R3 TYPE=TD ATTR=TXT:* EXTRACT=TXT
TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT
TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT
TAG POS=1 TYPE=TH ATTR=TXT:MyTable
TAG POS=R3 TYPE=TD ATTR=TXT:* EXTRACT=TXT
TAG POS=1 TYPE=TH ATTR=TXT:MyTable
TAG POS=R4 TYPE=TD ATTR=TXT:* EXTRACT=TXT
TAG POS=1 TYPE=TH ATTR=TXT:MyTable
TAG POS=R5 TYPE=TD ATTR=TXT:* EXTRACT=TXT
TAG POS=1 TYPE=TD ATTR=TXT:3
TAG POS=R-2 TYPE=TD ATTR=TXT:* EXTRACT=TXT
マクロの解説
通常は、ページの1番上から何番目という感じで場所を指定していきます。
この書き方は、特定の位置を基準にしてそこから何番目を指定するマクロです。
よく使われるのが、複数のテーブルがあるページで使用します。
※DEMOマクロのようにテーブルが1個しかない場合は使う必要がありません。
ちなみにPOS=RのRはrelative(リレイディブ)と言い、「〇〇と関係(関連)がある」というような意味です。CSSでもよく使われています。
POS=Rの使い方を図で確認
テーブルの中身(テキスト)を全て抜き出す
ファイル名:ExtractTable.iim
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1
URL GOTO=http://demo.imacros.net/Automate/ExtractDemo
'2番目のテーブルのテキストを全て抜き出す
TAG POS=2 TYPE=TABLE ATTR=TXT:* EXTRACT=TXT
'ファイル名「mytable_現在(年月_日時秒)」で保存
SAVES TYPE=EXTRACT FOLDER=* FILE=mytable_{{!NOW:yymmdd_hhnnss}}.csv
'3秒の待ち時間
WAIT SECONDS=3
'ダウンロード完了ページにアクセス
URL GOTO=http://demo.imacros.net/Automate/OK
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1
URL GOTO=http://demo.imacros.net/Automate/ExtractDemo
TAG POS=2 TYPE=TABLE ATTR=TXT:* EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=* FILE=mytable_{{!NOW:yymmdd_hhnnss}}.csv
WAIT SECONDS=3
URL GOTO=http://demo.imacros.net/Automate/OK
マクロの解説
テーブルの中身(テキスト)を全て抜き出して、Downloadsに保存してくれるマクロです。
ただ記号(",
)や空白も一緒に抜き出してしまうのであまり使う場面がないです。
各セルの中身(TH、TDなど)を指定して抜き出す方が実用的です。
同じ場所で複数データを抜き出す
ファイル名:ExtractURL.iim
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1
URL GOTO=http://demo.imacros.net/Automate/Extract2
'リンク先URLを抜き出す
TAG POS=1 TYPE=A ATTR=TXT:H*links* EXTRACT=HREF
'タイトルを抜き出す
TAG POS=1 TYPE=A ATTR=TXT:H*links* EXTRACT=TITLE
'アンカーテキストを抜き出す
TAG POS=1 TYPE=A ATTR=TXT:H*links* EXTRACT=TXT
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1
URL GOTO=http://demo.imacros.net/Automate/Extract2
TAG POS=1 TYPE=A ATTR=TXT:H*links* EXTRACT=HREF
TAG POS=1 TYPE=A ATTR=TXT:H*links* EXTRACT=TITLE
TAG POS=1 TYPE=A ATTR=TXT:H*links* EXTRACT=TXT
マクロの解説
同じ場所で複数データ(URL、タイトル、アンカーテキスト)を抜き出すマクロです。
ちなみにEXTRACT=TITLEだけは、ほとんど使うことがありません。
ページ全体の中身を抜き出す
ファイル名:SaveAs.iim
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1
URL GOTO=http://demo.imacros.net/Automate/SaveAs
WAIT SECONDS=3
URL GOTO=http://www.iopus.com/imacros/
'ページの中身を全て保存
SAVEAS TYPE=CPL FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}
'ページ全体のHTMLを保存
SAVEAS TYPE=HTM FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}
ページ全体のテキストを保存
SAVEAS TYPE=TXT FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}
WAIT SECONDS=3
URL GOTO=http://demo.imacros.net/Automate/SaveAs
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1
URL GOTO=http://demo.imacros.net/Automate/SaveAs
WAIT SECONDS=3
URL GOTO=http://www.iopus.com/imacros/
SAVEAS TYPE=CPL FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}
SAVEAS TYPE=HTM FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}
SAVEAS TYPE=TXT FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}
WAIT SECONDS=3
URL GOTO=http://demo.imacros.net/Automate/SaveAs
マクロの解説
ページ全体の中身を抜き出すマクロです。
4. ダウンロード、アップロード
特定のファイルをダウンロードする
ファイル名:Download.iim
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1 URL GOTO=http://demo.imacros.net/Automate/Downloads
'Download File 2をダウンロード
ONDOWNLOAD FOLDER=* FILE=* WAIT=YES
TAG POS=2 TYPE=A ATTR=TXT:*Download*
'3秒の待ち時間
WAIT SECONDS=3
'ダウンロード完了ページにアクセス
URL GOTO=http://demo.imacros.net/Automate/OK
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1 URL GOTO=http://demo.imacros.net/Automate/Downloads
ONDOWNLOAD FOLDER=* FILE=* WAIT=YES
TAG POS=2 TYPE=A ATTR=TXT:*Download*
WAIT SECONDS=3
URL GOTO=http://demo.imacros.net/Automate/OK
マクロの解説
上から2個目のファイルをダウンロードします。
場所を変更したい場合は、以下のようにTAG POS=数値を変更すればできます。
PDFをダウンロードする
ファイル名:SavePDF.iim
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1
URL GOTO=http://demo.imacros.net/Automate/PDFDemo
WAIT SECONDS=2
'PDF(3 KB)をダウンロード
ONDOWNLOAD FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}
TAG POS=1 TYPE=A ATTR=TXT:*View<SP>small<SP>PDF<SP>Document*
URL GOTO=http://demo.imacros.net/Automate/PDFDemo
'PDF(3,917 KB) をダウンロード
ONDOWNLOAD FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}
TAG POS=1 TYPE=A ATTR=TXT:*View<SP>iMacros<SP>Case*
WAIT SECONDS=3
URL GOTO=http://demo.imacros.net/Automate/OK
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1
URL GOTO=http://demo.imacros.net/Automate/PDFDemo
WAIT SECONDS=2
ONDOWNLOAD FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}
TAG POS=1 TYPE=A ATTR=TXT:*View<SP>small<SP>PDF<SP>Document*
URL GOTO=http://demo.imacros.net/Automate/PDFDemo
ONDOWNLOAD FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}
TAG POS=1 TYPE=A ATTR=TXT:*View<SP>iMacros<SP>Case*
WAIT SECONDS=3
URL GOTO=http://demo.imacros.net/Automate/OK
マクロの解説
PDFをダウンロードするマクロです。
ファイルをアップロードする
ファイル名:Upload.iim
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1
URL GOTO=http://demo.imacros.net/Automate/FileUploadDemo
'DATASOURCEフォルダに入っているAddress.csvをアップロード
TAG POS=1 TYPE=INPUT:FILE FORM=ID:demo ATTR=NAME:uploaded_file CONTENT={{!FOLDER_DATASOURCE}}Address.csv
TAG POS=1 TYPE=TEXTAREA FORM=ID:demo ATTR=NAME:S1 CONTENT="アップロード完了しました!
※これはデモですので実際にアップロードはされていません。"
WAIT SECONDS=1
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1
URL GOTO=http://demo.imacros.net/Automate/FileUploadDemo
TAG POS=1 TYPE=INPUT:FILE FORM=ID:demo ATTR=NAME:uploaded_file CONTENT={{!FOLDER_DATASOURCE}}Address.csv
TAG POS=1 TYPE=TEXTAREA FORM=ID:demo ATTR=NAME:S1 CONTENT="アップロード完了しました!
※これはデモですので実際にアップロードはされていません。"
WAIT SECONDS=1
マクロの解説
DATASOURCEフォルダに入っているファイルをアップロードするマクロです。
違う場所にあるファイルをアップロードすることも可能です。
例えば、デスクトップに「テイラボ.csv」という名前のファイルがある場合、C:Usersユーザー名Desktopテイラボ.csvにCONTENTの中身を変更すれば可能です。
5. その他
画像フィルターを使って画像を非表示
ファイル名:Filter.iim
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1
'画像フィルターON
FILTER TYPE=IMAGES STATUS=ON
URL GOTO=http://demo.imacros.net/Automate/Filter
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:form1 ATTR=NAME:textfield CONTENT="画像フィルターをONにして画像を非表示しています"
'3秒の待ち時間
WAIT SECONDS=3
'画像フィルターOFF
FILTER TYPE=IMAGES STATUS=OFF
'ページを更新
REFRESH
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:form1 ATTR=NAME:textfield CONTENT="画像フィルターをOFFにして画像を表示しています"
'3秒の待ち時間
WAIT SECONDS=3
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:form1 ATTR=NAME:textfield CONTENT="テストを終了します"
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1
FILTER TYPE=IMAGES STATUS=ON
URL GOTO=http://demo.imacros.net/Automate/Filter
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:form1 ATTR=NAME:textfield CONTENT="Image Filter ON (No images downloaded from server)"
WAIT SECONDS=3
FILTER TYPE=IMAGES STATUS=OFF
REFRESH
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:form1 ATTR=NAME:textfield CONTENT="Image Filter OFF (Web page not filtered)"
WAIT SECONDS=3
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:form1 ATTR=NAME:textfield CONTENT="Image Filter Test completed"
マクロの解説
FILTERコマンドを使って、画像を非表示→表示に切り替えているマクロです。
大量のデータを抜き出す時にサーバーの負荷を減らすのと、表示速度が遅いサイト時などに使います。
ダイアログ内をクリック
ファイル名:Javascript-Dialogs.iim
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1
URL GOTO=http://demo.imacros.net/Automate/Dialogs
'※「Popup 1」→「OK」の順にクリックしていますがコマンドの順序が逆になります
'OKをクリック
ONDIALOG POS=1 BUTTON=OK CONTENT=
'Popup 1をクリック
TAG POS=1 TYPE=INPUT:BUTTON FORM=NAME:NoFormName ATTR=VALUE:Popup<SP>1
'※「Ask me a question」→「OK」こちらもコマンドの順序が逆になります
'OKをクリック
ONDIALOG POS=1 BUTTON=OK CONTENT=
'Ask me a questionをクリック
TAG POS=1 TYPE=INPUT:BUTTON FORM=NAME:NoFormName ATTR=VALUE:Ask<SP>me<SP>a<SP>question
'3秒の待ち時間
WAIT SECONDS=3
'Change background back to defaultをクリック
TAG POS=1 TYPE=INPUT:BUTTON FORM=NAME:NoFormName ATTR=VALUE:Change<SP>background<SP>back<SP>to<SP>default<SP>
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1
URL GOTO=http://demo.imacros.net/Automate/Dialogs
ONDIALOG POS=1 BUTTON=OK CONTENT=
TAG POS=1 TYPE=INPUT:BUTTON FORM=NAME:NoFormName ATTR=VALUE:Popup<SP>1
ONDIALOG POS=1 BUTTON=OK CONTENT=
TAG POS=1 TYPE=INPUT:BUTTON FORM=NAME:NoFormName ATTR=VALUE:Ask<SP>me<SP>a<SP>question
WAIT SECONDS=3
TAG POS=1 TYPE=INPUT:BUTTON FORM=NAME:NoFormName ATTR=VALUE:Change<SP>background<SP>back<SP>to<SP>default<SP>
マクロの解説
ダイアログ内をクリックするマクロです。
注意点は実際の動作とコマンドの書き方が逆になります。
基本的には自動で記憶してくれますので気にすることはないと思いますが、もし編集する場合は注意が必要です。
RuntimeError: unhandled alert dialog detected. Dialog message: “Popup 1”, line 4 (Error code: -1450)
タブを1個づつ開きながら各ページにアクセス
ファイル名:Open6Tabs.iim
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
'VAR1に1を入れる
SET !VAR1 1
'新しいタブを開く
TAB OPEN NEW
'VAR1(数値は1)+1=2
ADD !VAR1 1
'VAR1(数値は2)/2個目のタブを指定
TAB T={{!VAR1}}
URL GOTO=http://www.iopus.com
'新しいタブを開く
TAB OPEN NEW
'VAR1(数値は2)+1=3
ADD !VAR1 1
'VAR1(数値は3)/3個目のタブを指定
TAB T={{!VAR1}}
URL GOTO=https://forum.imacros.net/
'新しいタブを開く
TAB OPEN NEW
'VAR1(数値は3)+1=4
ADD !VAR1 1
'VAR1(数値は4)/4個目のタブを指定
TAB T={{!VAR1}}
URL GOTO=http://wiki.imacros.net
'新しいタブを開く
TAB OPEN NEW
'VAR1(数値は4)+1=5
ADD !VAR1 1
'VAR1(数値は5)/5個目のタブを指定
TAB T={{!VAR1}}
URL GOTO=https://teilab-sub.net/
'新しいタブを開く
TAB OPEN NEW
'VAR1(数値は5)+1=6
ADD !VAR1 1
'VAR1(数値は6)/6個目のタブを指定
TAB T={{!VAR1}}
URL GOTO=https://teilab.net/
'新しいタブを開く
TAB OPEN NEW
'VAR1(数値は6)+1=7
ADD !VAR1 1
'VAR1(数値は7)/7個目のタブを指定
TAB T={{!VAR1}}
URL GOTO=https://teilab.net/category/imacros/
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
SET !VAR1 1
TAB OPEN NEW
ADD !VAR1 1
TAB T={{!VAR1}}
URL GOTO=http://www.iopus.com
TAB OPEN NEW
ADD !VAR1 1
TAB T={{!VAR1}}
URL GOTO=https://forum.imacros.net/
TAB OPEN NEW
ADD !VAR1 1
TAB T={{!VAR1}}
URL GOTO=http://wiki.imacros.net
TAB OPEN NEW
ADD !VAR1 1
TAB T={{!VAR1}}
URL GOTO=https://teilab-sub.net/
TAB OPEN NEW
ADD !VAR1 1
TAB T={{!VAR1}}
URL GOTO=https://teilab.net/
TAB OPEN NEW
ADD !VAR1 1
TAB T={{!VAR1}}
URL GOTO=https://teilab.net/category/imacros/
マクロの解説
新しいタブを開いて、そのタブに違うページにアクセスしていくマクロです。
動作は理解できると思いますが、SETとADDコマンドが分かりにくいと思います。
iMacros(.iim)だけでは、あまりこういう使い方しないので覚えなくてもいいと思います。
自作スライドショー
ファイル名:SlideShow.iim
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1
URL GOTO=http://demo.imacros.net/Automate/Images
'順番に画像をクリック
TAG POS={{!LOOP}} TYPE=A ATTR=HREF:http://*.jpg
'3秒の待ち時間
WAIT SECONDS=3
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1
URL GOTO=http://demo.imacros.net/Automate/Images
TAG POS={{!loop}} TYPE=A ATTR=HREF:http://*.jpg
WAIT SECONDS=3
マクロの解説
3秒間待ち時間をいれて順番に画像を見ていくマクロです。
再生するときはLOOPで繰り返します。
Popupで3つ開いたタブの最後を選ぶ
ファイル名:Tabs.iim
VERSION BUILD=7210419 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1
URL GOTO=http://demo.imacros.net/Automate/PopupDemo
'URLにpopupが含まれるものをクリック
TAG POS=1 TYPE=A ATTR=HREF:*popup
'4番目のタブを選ぶ
TAB T=4
'Popup 3と入力
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:f3 ATTR=NAME:txtPopup CONTENT=Popup<SP>3
WAIT SECONDS=1
TAB T=1
VERSION BUILD=7210419 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1
URL GOTO=http://demo.imacros.net/Automate/PopupDemo
TAG POS=1 TYPE=A ATTR=HREF:*popup
TAB T=4
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:f3 ATTR=NAME:txtPopup CONTENT=Popup<SP>3
WAIT SECONDS=1
TAB T=1
マクロの解説
リンクをクリックすると、Popupで3つ同時に開いたタブの1番最後に文字を入れるマクロです。
※設定の仕方はブラウザやバージョンによって少し違います
LOOPを使って順番にリンクをクリック
ファイル名:TagPosition.iim
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1
URL GOTO=http://demo.imacros.net/Automate/TagPosition
'Click to open this pageクリック
TAG POS={{!LOOP}} TYPE=A ATTR=TXT:Click<SP>to<SP>open<SP>this<SP>page
WAIT SECONDS=1
BACK
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1
URL GOTO=http://demo.imacros.net/Automate/TagPosition
TAG POS={{!LOOP}} TYPE=A ATTR=TXT:Click<SP>to<SP>open<SP>this<SP>page
WAIT SECONDS=1
BACK
マクロの解説
LOOPを使って繰り返し再生をして、1→2→3と順番をリンクをクリックするマクロです。
使う機会が多いので覚えておいて損はないです。
スクリーンショットを撮る
ファイル名:TakeScreenshot-FX.iim
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1
'スクリーンショットを撮る
SAVEAS TYPE=PNG FOLDER=* FILE=Screenshot_Time_{{!NOW:yyyymmdd_hhnnss}}.png
URL GOTO=http://demo.imacros.net/Automate/Screenshot
VERSION BUILD=7500718 RECORDER=FX
SET !REPLAYSPEED MEDIUM
TAB T=1
SAVEAS TYPE=PNG FOLDER=* FILE=Screenshot_Time_{{!NOW:yyyymmdd_hhnnss}}.png
URL GOTO=http://demo.imacros.net/Automate/Screenshot
マクロの解説
現在開いているページのスクリーンショットを撮るマクロです。
保存しておきたいページがある場合に使うことができます。
6. まとめ
DEMOマクロの中でよく分からなかったのもあると思いますが、気にする必要はありません。
マクロの書き方は何通りもありますので、自分の得意とする方法を実践しながら見つけていけばOKです。
- TAG POS=Rは使い方が特殊
- DEMOマクロはあくまでも参考程度
- 理解できないコマンドがあった場合はリンク先で確認