ブラウザ操作を自動化[Firefoxアドオン iMacros]その4 RMS自動化 倉庫出し入れ
ブラウザ操作を自動化[Firefoxアドオン iMacros]その3の続きになります。
今回は楽天RMS上の操作を実際に自動化してみました。
まずは、今回自動化する内容としては
・楽天で販売している商品を「倉庫に入れる」「販売中」にする処理を自動化してみたいと思います。
・処理対象の商品、処理内容は itemlist.csv を事前に作成しておくこととします。
iMacroのファイル構成はこんな感じ
itemlist.csvファイルは下記のような項目とします
処理の列については、0か1を設定する。値は0:販売中にする 1:倉庫に入れる をあらわすことにします。
準備したcsvファイルは Datasources内に保存をしておきます。
処理の概要について前回の記事のをベースに作成していきますので、細かい部分は省略しますが
main.jsで全体を制御して、処理の中でgetcsvrow.iim、set_storehouse.iimを呼び出す形になります。
getcsvrow.iimのソース
SET !DATASOURCE itemlist.csv SET !DATASOURCE_LINE {{actrow}} ADD !EXTRACT {{!COL1}} ADD !EXTRACT {{!COL2}}
csvファイルの内容を1行読み込む処理で、main.jsから読み込む行(actrow )を指定します。
そして、読み込んだ値をmain.jsに渡す処理が ADD !EXTRACT {{!COL1}} です。
今回はcsvの項目が2つなのでCOL1、COL2の値を渡しています。
set_storehouse.iimのソース
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:★★★ ATTR=NAME:mng_number CONTENT={{ItemCode}} TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:★★★ ATTR=NAME:submit&&VALUE:<SP>検索する<SP> TAG POS=1 TYPE=FONT ATTR=TXT:商品情報の変更をする TAG POS=1 TYPE=INPUT:RADIO FORM=NAME:regist_newitem ATTR=NAME:depot_flag&&VALUE:{{InOut}} TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:regist_newitem ATTR=VALUE:<SP>商品情報を変更する<SP> URL GOTO=☆☆☆ TAG POS=1 TYPE=FONT ATTR=TXT:商品個別編集(完全一致)
<SP>の<>は半角に変えてください。
また、ここにRMS内のURLを書くのはまずいので
★★★ → 商品個別編集(完全一致)ページのURL
☆☆☆ → 商品ページ設定のページURL に置き換えてください。
もしくは、Record、stopで実際の操作を記録するのがわかりやすいかと思います。
RMS内の商品ページ設定 → 商品個別編集(完全一致)のページから記録開始で
①検索したい商品番号を入力して検索クリック
②商品情報の変更をするをクリック
③倉庫に入れる もしくは 販売中を選択
④商品情報を変更するをクリック
⑤商品ページ設定の画面に移動
⑥商品個別編集(完全一致)をクリック
という操作を記録しても良いかと思います。
その後、値受け渡し部分だけを修正します。
{{ItemCode}} の部分が処理対象の商品番号を指定しています。
{{InOut}} の部分が0:販売中にする もしくは 1:倉庫に入れるを指定しています。
javascriptのソース main.js
//商品ページ設定メニューの ページに移動する iimPlay("CODE:URL GOTO=☆☆☆"); //商品個別編集(完全一致)をクリック iimPlay("CODE:TAG POS=1 TYPE=FONT ATTR=TXT:商品個別編集(完全一致)"); rowcnt=2 //読み込み開始行 1行目が項目名なので2行目から開始にしています loopflg=true; while (loopflg == true) { //iimマクロに値を渡す(csv何行目を読み込むか) iimSet("actrow", rowcnt); //1行読み込む iimPlay("storehouse/getcsvrow"); //読み込んだ値を取得 var GetData1= iimGetLastExtract(1); var GetData2= iimGetLastExtract(2); if(GetData1==null){ //csvデータが終わったのでループ抜ける break; }else{ //csvから読み込んだ値を使って処理 //GetData1,GetData2の中に値が入ってるので //商品番号をiimマクロに渡す iimSet("ItemCode", GetData1); //処理 倉庫に入れる:1 販売中:2 の 値を渡す iimSet("InOut", GetData2); //販売中にする、倉庫に入れるiimマクロを呼び出す iimPlay("storehouse/set_storehouse"); rowcnt=rowcnt+1; } }
今回は事前にRMSにログインしている状態からマクロを実行する必要があります。
(RMSへのログインから自動化したい場合は、その処理を追加してくださいね)
以上で事前にcsvファイルを用意するだけで、あとはマクロを実行すれば
商品を倉庫に入れる、販売中にするという処理を自動化することが出来ました。
商品編集ページを1つ1つ開いて、登録することを考えたらかなり手間削減できますね。
追記:
・ブラウザ操作を自動化[Firefoxアドオン iMacros]
・ブラウザ操作を自動化[Firefoxアドオン iMacros]その2
・ブラウザ操作を自動化[Firefoxアドオン iMacros]その3 csv読み込み、jsとの値受渡し
Your Message