楽天ROOMの商品削除が大変だ・・・・
簡単に商品削除できる方法はないの??
こんにちは!ごりやど(@goriyado_Rktn)です!
「楽天ROOM商品削除シリーズ」3記事目にして、ついに完全自動化に成功!
というわけで今回は、楽天ROOM商品の自動削除についてご紹介します。
楽天ROOMの商品削除って面倒ですよね。
商品を選択して、削除ボタン押して、確認メッセージで「はい」押してと、1つの商品を削除するのに、3ステップかかります。
1つや2つ削除するなら、なんてことないと思いますが、1万、2万商品となってくると話は別ですよね。(ちなみに、ROOMの商品投稿数の上限は、2万点です!)
2万回も削除操作しなきゃならないなんて、想像つかない・・・・
MyROOMの商品は2万点に達してしまうと、それ以降は、商品削除をしないとコレ!出来なくなってしまいます。
私も、削除が面倒でずっと放置していたのですが、気づいたら2万商品を投稿になってしまい、削除⇒投稿の繰り返しを余儀なくされました( ;∀;)
まとめて削除してやろうと意気込んでみても、100、200件削除がいいところで、それ以上となると疲れるし、面倒だしで、とにかく大変(T_T)
コレ!するたびに商品削除するのはおっくうだ・・・
「そんな作業もう嫌だッ!」と楽天ROOMから離れてしまう人が出る前に、単純な同じ作業の繰り返しはプログラムの力を借りて自動化してしまいましょう!
自動化できるなら是非したい!
”自動化”なんて聞くと、難しいプログラムや、パソコン設定が必要と思いがちですが、やり方は非常に簡単です。
GoogleChromeがインストールされているパソコンであれば、どなたでもできますので是非参考にしてみてください!
ちなみに、私のROOMの先日この方法を用いて商品削除を実施し、ほとんど労力をつかわずに全2万商品を削除しています。(画像では、300件弱商品件数が残ってますが、一覧に商品はない状態です。楽天ROOMのバグか・・・・?)
上限の2万商品削除もそこまで大きな労力はかかりません!
(2万件削除するのに、ざっくり3日ぐらいです。)
さあ、皆さんもプログラムの力を借りて、煩わしい作業から解放されましょう!
スマホで行う、半自動削除方法、手動でも少し楽な削除方法については、こちらの記事を参考にしてみてください!
事前準備
自動にあたり必要な準備は以下の通りです。
パソコンをお持ちであればだれでも用意できます!
GoogleChrome
自動削除は、「GoogleChrome」の拡張機能を利用します。
GoogleChromeは、他のブラウザと違い様々な拡張機能を利用して、自分好みにカスタマイズできるのが大きなメリットですよね(/・ω・)/
GoogleChromeは、Google検索で「GoogleChrome インストール」などで検索すれば、ヒットしますのでまずはインストールしましょう!
※インストール手順は、公式HPが詳細に記載してますのでそちらにお任せすることとします。
公式HPはこちらから確認できます!
Selenium IDEをインストール
今回、自動化処理を担当してくれるGoogleChrome拡張機能です。
拡張機能は、「chromeウェブストア」からインストールすることができます。
リンクをクリックするとウェブサイトが開くので、検索窓で「Selenium IDE」を検索してください。
検索された「Selenium IDE」をクリックして、「chromeに追加」からパソコンのGoogleChromeに、「Selenium IDE」をインストールします。
もちろん無料ツールですので安心してください!
確認メッセージが表示されますので「拡張機能を追加」をクリック
以上で、「Selenium IDE」のインストールは完了です!
うん、簡単!
GoogleChrome拡張機能の設定
GoogleChrome拡張機能は、GoogleChrome起動後、右上に表示される「パズルピース」をクリックすることで、設定することができます。
クリックすると、メニューが開き、先ほどインストールした「Selenium IDE」が表示されているので、ピンマークをONに変更します。
これで、GoogleChromeの右上の、パズルピースの左側にSelenium IDEのアイコンが表示されます。
いわゆるショートカットですね(/・ω・)/
コレで事前準備は完了!!
Selenium IDEを使って商品削除操作を記憶
ここからはいよいよプログラムを作っていきます!
作るといっても難しいコードを書く必要はなくて、Selenium IDEを起動して画面操作するだけです!
「Selenium IDE」は、起動中の操作をプログラムコード化して記録してくれる機能です。
なので、プログラミングと言っても、拡張機能を起動して画面操作するだけで、「Selenium IDE」が勝手にプログラムコードを作ってくれます
どうです?簡単でしょ?
では、早速プログラムを作ってみましょう!
自分でコードを書く必要はないよ!
Selenium IDEを起動
事前準備で追加した「Selenium IDE」のショートカットをクリックします。
「Selenium IDE」のメニュー画面が表示されます。
英語で書かれてて難しそうに見えますが、書いてあることはすごく単純です!
- Record a new test in a new project
新しい記録を開始! - Open an existing project
既に記録してあるプログラムを開く! - Create a new project
新しくプログラムを作成! - Close Selenium IDE
Selenium IDEを閉じる!
読んでみると、凄く簡単な事しか書いてないよね!
今回は、新規で操作を記録しますので、1番の「Record a new test in a new project」をクリックします。
するとproject名の入力を求められますので、適当に名前を付けてください。
ここでは分かりやすいように「Delete_ROOM」としますね!
続いて、操作を記録し始める最初のウェブサイトのURLの入力を求められます。
今回は楽天ROMの商品削除が目的ですので、ここではMyROOMのURLを入力して、「START RECORDING」をクリック
※画像では、私の楽天ROOMのMyROOMのURLを入力しています。
GoogleChromeが起動し、楽天ROOMのMyROOMが表示されれば、Selenium IDEの起動は完了です!
この時GoogleChromeとは別に、先ほど命名した「ROOM_Delete」という名前で、Selenium IDEの画面も立ち上がります
楽天ROOMで商品を削除
Selenium IDEの起動をしたことで立ち上がったGooglecChromeにて操作を行います。
画面右下に「Selenium IDE is recording…」と表示されているブラウザで、このブラウザ上での操作をSelenium IDEが記録(recording)してくれる状態になっています。
ここまで確認できたら、MyROOMにて商品を削除しますが、3点注意点があります。
- 削除する商品は必ず1番目(左上)の商品
- 削除する商品は1商品のみ
- 削除以外の操作はしない
3つの注意点を守って、商品を削除してみましょう。
MyROOMの1番目の商品を削除するだけだから難しくないよね
私のROOMの場合、1番目の商品はイヤホンですので、選択して削除します。
商品詳細画面から、「削除」をクリック
確認メッセージにて「OK」をクリックし、再びMyROOMが表示されたら完了です。
Selenium IDEの記録を停止する
商品削除まで完了したら、Selenium IDEのrecordingを停止します。
削除操作だけを録画したいので、操作が完了したら停止させるよ
Selenium IDEを起動したときに立ち上がった、Selenium IDEの画面を開き。右上で赤く表示されている「■」をクリックすればrecordingが停止します。
「■」をクリックすると、今記録した操作の名前を求められますので、任意に設定して「OK」をクリックして下さい。
※ここでは、仮に「delete」としています。
コレで楽天ROOM商品を削除するためのブラウザ操作が記録され、自動でプログラムが作成されています!
商品削除しただけで、プログラムが作れちゃったね!
プログラムを修正
最後の仕上げです。
ここでは、自動で作成されたプログラムに少し手を加えて、自動で商品削除してくれる状態に修正していきます。
と言っても、難しい事は何もなく、自動作成されたプログラムに2行追加するだけになります。
ここからは、Selenium IDE起動時に立ち上がった、Selenium IDE画面で作業を進めていきます!
後もう少し!
不要なプログラムを削除
Selenium IDEで自動削除する際、理由は分かりませんが「削除」クリック後の確認メッセージが表示されません。
なので、自動生成されたプログラムから「確認メッセージの「OK」をクリックする操作」は不要になります。
Selenium IDE画面には、楽天ROOMの商品を削除した操作がプログラムとして生成されている状態になっているので、「確認メッセージでOKをクリック」している操作を削除します。
見分け方はとても簡単で、「Target」欄に「この商品を削除してよろしいですか?」と記載されているプログラムを削除します。
日本語で表示されてるから、すぐに見つけられるね!
削除は、対象行を選択し右クリックから、「Delete」を選択すればOKです。
削除操作を繰り返すプログラムを追加
続いて、作成した商品削除操作を繰り返すためのプログラムを追加します。
このプログラムを追加することで、指定した回数分、MyROOMの先頭商品を削除し続けてくれるようになります。
追加するプログラムは2行分ですが、いずれも簡単な文を追記するだけですので難しくありません。
超簡単だから安心してね!
① timesコマンドの追加
「set window size」の1行下の行を選択して右クリックから、「insert new command」をクリック
新しく追加された行を選択し、画面下部のCommand、Target欄に値を入力
② Endコマンドの追加
プログラムの一番最後の行の1つ下の何もない行を選択し、画面下部のCommand、欄に値を入力
プログラムの追加作業は以上です。
全然難しくないね!
簡単に説明すると、「Times~Endの間にある操作を、TimesのTargetに指定した回数だけ繰り返す」という処理を追加しました。
Times~Endの間にある処理は、「商品選択⇒商品削除⇒MyROOMに戻る」になっていて、この操作を1000回繰り返す状態になっています。
つまり、一度実行すれば1000商品削除するまで、自動で削除処理を実行してくれる状態という訳ですね
なお、画像ではTimesのTargetを仮に1000としていますが、この値は自由に変更可能ですので、皆さんの用途に応じて数値を変更して使ってみてください!
③ プログラムを保存
削除と追加が完了したら、今後いつでも使えるようにプログラムを保存しておきましょう!
Selenium IDE画面で、「ctrl + S」で保存先を選択する画面が開くので、任意の場所に保存しておきましょう!
プログラムを実行しよう!
作成したプログラムを早速実行してみましょう!
いよいよ実践だね!
プログラム実行前の準備
すぐにでもプログラムを実行できる状態ですが、その前に、プログラムの実行速度を設定する必要があります。
Selenium IDEは、指定されたURLで、指定された操作を自動で実行するものです。
ブラウザの表示が遅いなどが原因で、たとえ画面表示されなくても、関係なくプログラムが実行されてしまいます。
良くも悪くも命令通りに動くんだね
対象商品が表示されていない、クリックするべきボタン表示されていない、といった状態でプログラムが実行されると、捜査対象がないため当然処理は実行されずエラーになってしまいます。
そんな状態を防ぐため、Selenium IDEにはプログラム実行速度が設定で簡単に変更することができます。
実行速度を遅くすることで、ブラウザ表示よりも早くプログラムが実行されてしまうことをある程度防ぐことが可能です。
設定方法は非常に簡単で、Selenium IDE画面上部の「⏱」をクリックし、表示されたメーターを移動させることで速度が変更できます。
楽天ROOM商品削除の処理速度は、真ん中よりやや下に設定することで、問題なく処理が実行できると思います。
色々試してみて、ご自身の環境にあった速度を見つけてみてください!
プログラム実行
実行方法は非常に簡単で、Selenium IDE画面左上にある「▷」をクリックするだけです。
コレをクリックすると、自動でGoogleChromeが起動して、MyROOMから商品削除処理がスタートします。
この間、GoogleChromeが立ち上がり、MyROOMの商品が自動で削除していくのが見られます。(プログラム的には、記録した操作をただ繰り返しているだけ。)
処理は、TimesのTargetに設定した数値分繰り返されて、数値に達すると自動で止まります。
エラーがおきたら・・・
ここまでご紹介してきた楽天ROOM商品自動削除プログラムですが、常に完璧に動くものではありません・・・
なんだって!!!
理由は様々ですが、エラーが発生すると処理が止まってしまうため、定期的に動いているかどうか確認する必要があります。
もし、GoogleChromeにて商品削除操作が止まってしまっていたら、一度Selenium IDEを停止して、再度実行することで、再び削除処理が動き始めます。
プログラムの停止は、画面上部の「□」をクリックすればOKです。
プログラムを再実行する場合は、同じく画面上部の「▷」をクリックすればOKです。
動いてるかこまめに確認しよう!
プログラムの再実行にあたり1点注意があります。
再実行すると、TimesのTargetに設定している値は、また1からカウントされることになります。
そのため、「10商品削除したくてプログラムを実行したところ、5商品目でエラーで止まっちゃったので再実行した。」などと言った場合、再実行することで、再び10商品削除するまで動くことになります。
削除したくない商品まで削除してしまう可能性があるので、再実行時は注意してください。
前に作成したプログラムを実行する
作成し保存しているプログラムを実行することも可能です。
GoogleChromeからSelenium IDEを起動して、Selenium IDEのメニュー画面から、「Open an existing project」をクリックします。
対象ファイルを指定する画面が開くので、保存済みのプログラムを選択すると、Selenium IDE画面に読み込んだプログラムが表示されます。
後は、プログラム作成時と同様に実行することが可能です!
面倒な作業はプログラムの力を借りよう!
今回は、楽天ROOMの商品を自動削除する方法について紹介してきました。
楽天ROOMの商品削除は非常に面倒ですが、プログラムの力を借りれば放置した置くだけで、勝手に削除してくれます!
面倒な単純作業は、どんどん自動化して楽していきたいですね(^_^)
今回ご紹介した「Selenium IDE」は、ブラウザ操作を記録する機能であり、楽天ROOM以外にも、いろんな使い方が出来ると思います。
興味があったら、是非調べてみてください!
今回の記事で分からないことがありましたら、DMでもなんでも答えられる範囲でお答えしますので、お気軽にお問い合わせください。
今回の記事が、少しでも参考になったと思ったら、SNSなどでシェアして頂けると嬉しいです(^^♪
当記事が楽天ROOMを楽しむみなさんの助けになれば幸いです!
良ければ、私のROOMにも遊びに来てくださいね~🦍
コメント
「■」をクリックすると、今記録した操作の名前を求められますので、任意に設定して「OK」をクリックして下さい。
※ここでは、仮に「delete」としています。
仮名の入力画面が出ません。
ブログ確認いただきありがとうございます。
今私の方で動作確認しましたが、現状のSeleniumIDEでも、ブログ記事通り作成したプログラムの名称を設定する画面が表示されました。
疑うような物言いで申し訳ございませんが、
SeleniumIDEは「Create a new project」から作成し、任意URLのサイト操作を記録後に「■」を押していますでしょうか?
お手数ですが、今一度ご確認いただければと思います。
お世話になります。コレ!を一つひとつ削除するのに苦労していたところ、ここへ辿り着きました。パソコンの細かい作業が苦手な私でも、詳しい説明のお陰で設定することが出来ました。一括で削除することが出来て助かりました。ありがとうございます。ただ、オリジナル写真も消えてしまいました。消したくないものを残す方法や、古いものから削除する、掲載終了のものを削除する等の設定は出来ないのでしょうか?もしそんな事が出来るのであれば、教えて頂けたら幸いです。宜しくお願いします。
お世話になっております。
ブログ記事の閲覧ありがとうございます。
少しでもお役に立てたようで何よりです。
さて、ご質問の設定についてですが、「できない」というのが回答となります。
自動削除の動きとして、MyRoomの先頭に表示される商品を順番に削除していくというものになるため、
順序変更や、特定商品のみスキップすることができません。
※プログラミング自体は可能と思いますが、かなり複雑になものになってしまいブログなどでの提供が難しくなってしまいます。
私自身も「オリジナル写真」も削除されてしまうという問題にぶつかったことがありますが、
上記の通りかなり複雑になものを作る必要があるため、自動削除する際は月初に行うようにしています。
月初に削除を行って、月末までにオリジナル写真を投稿するように順序をコントロールすることでうまいこと回避しています。
ご期待に添える回答とならず大変申し訳けございませんが、ご了承願います。
この度はお問い合わせいただきありがとうございました。
今後ともよろしくお願いいたします。
ご丁寧に回答頂きありがとうございます。やはり難しいのですね。タイミングを考えて消すようにしてみます。
こんにちわ
昔のルームを削除しようと思いましたが、
1件1件削除しては日が暮れてしまうと思い、
調べていたら辿り着きました
説明通り進めて簡単に作業を完了することができました
また、別な作業にも使えそうだと感じております
わかりやすいブログに出会えたこと、
ブログを執筆して頂いたことに感謝します
ありがとうございました
よーちゃんさん
お世話になっております。
ブログ管理者の「ごりやど」です。
とても嬉しいコメントありがとうございます!!
記載内容でご対応いただけたようで何よりです!
>また、別な作業にも使えそうだと感じております
素晴らしい感覚です!
Seleniumは使いようによっては色々とできることがあると思うので、
ぜひ、思いついたことを片っ端から試してみて下さい!
わかりやすいなんてとても嬉しいお言葉ありがとうございます(T_T)
こんなコメントいただけると思ってませんでした!
心のこもった温かいコメントありがとうございます!
心より感謝いたします!
今後ともよろしくお願いいたします。