メルカリ(mercari)、ラクマ(rakuma)と続いて、今回はフリル(fril)の自動出品化についての方法です。
過去のVBA自動化記事についてはこちら↓
■自分用に作成したPC版メルカリの自動操作ツール(VBA)の解説
商品名のフォームに値をセットする(省略)
さて、では早速作っていきましょう!
ところでIE(InternetExplorer)の準備はできましたか?
フリルは開けました?
出品画面への遷移は?
今回は途中の処理は大幅にカットしていきなりカテゴリの設定方法の説明からさせて頂きます。
なぜかというと商品名、商品説明、画像設定等々の処理は、メルカリ、ラクマの過去記事で紹介している内容“そのまま”でいけるからです!
あ、もちろん”そのまま”と言っても単純なソースコピーじゃだめですよ?
タグに付けられている『ID』や『クラス名』は、ちゃんとフリルのページソースを確認して変えて下さいね。
ということで、基本の作り方については冒頭のリンクから他の記事の内容参照して下さい。
商品カテゴリを設定する
まずはカテゴリ設定を行う箇所のソース部分を確認しましょう。
見た目となる部分は下図の箇所になります。
該当箇所のソースは以下の部分となります。
「カテゴリ」という文字も見えますし何となく分かりますね。
実際に操作する部分は右側の「指定なし」と表示されている部分ですが、ソース画像の下の部分にも見えています。
外見上はプルダウンの様にも見えますが、実はこの部分はボタンになっています。アンカータグですしクラス名にも「btn」という記述が見えるのが分かると思います。
このアンカータグの内容をよく見ると分かりますが、このボタンをクリックする事でモーダルウィンドウが開く仕掛けになっています。
メルカリというよりはラクマに近い仕様の様ですね。(近いというかまぁ運営が楽天の子会社ですから仕様を同じにしたのかもしれませんね。子会社化する前はどうだったのかは知りません。)
早速クリックしてモーダルウィンドウを表示させましょう。
Dim objIE As InternetExplorer Set objIE = '開いているフリマのサイトを取得するための関数など' objIE.document.getElementById("category_name").Click
id値には「category_name」が設定されていますので、クリックする処理は「getElementById」を使ったこの1行のみでokです。
クリックが完了するとこの様なモーダルウィンドウが出現します。
ラクマ自動化についてのページをご覧頂けると分かりますが、このモーダルウィンドウももちろん操作可能です。HTMLソース上でもこのモーダル部分の記述は見れますので、確認してみて下さい。
では、今回はこの中から「レディース」を選択してみたいと思います。
該当箇所のソースは下図の通りです。
「レディース」という単語だけで見てみると中央の青枠の部分となりますが、この部分のタグを取得してもカテゴリは選択できませんので注意しましょう。
ソースの前後の部分を見てみると、この”レディース”という文字部分はアンカータグ(赤枠)の内側にあることが分かると思います。
つまりこちらのアンカータグの方をクリックすれば良いということです。
コードにするとこの様な形になります。
Dim sClassName As String Dim objAnchor As Object For Each objAnchor In objIE.document.getElementsByTagName("A") On Error Resume Next sClassName = objAnchor.className On Error GoTo 0 '条件に一致するアンカータグが存在した場合はクリック' If sClassName = "list-group-item parent" And _ Trim(objAnchor.innerText) = "レディース" Then objAnchor.Click Exit For End If Next
上記コードでクリックできた場合、以下の様にレディースカテゴリに紐付く下位のカテゴリが表示されるはずです。
このままソースも確認してみましょう。
新たにdivブロックが出現し、何らかの要素が列を成しているのが分かりますね。これが子要素のカテゴリ部分になります。
※子要素のカテゴリ = 「トップス」、「ワンピース」等のことです
後は親カテゴリをクリックした時と同様に、子カテゴリ、孫カテゴリのクリック処理を作成していけばカテゴリの選択を行うことが可能です。
その場合、ちゃんとclass要素名は変更しておきましょう。
親カテゴリにあたる項目は「list-group-item parent」となっていますが、子要素の場合は「list-group-item small branch」です。この部分の判定を変えないと正しくクリックできないので注意して下さい。
ちなみに現状このクラス名の判定(If sClassName = “list-group-item parent”の部分)処理はなくても(恐らく)正常に動作します。
そのため今の所は入れる必要は無いのですが、今後どの様な仕様変更が行われるか分かりません。
『いつの間にかページの構成が変わってしまったせいで、別の場所をクリックしていた』
なんてことを避けるために、なるべく判定条件を確実なものにしているだけです。
とりあえずこれでカテゴリの設定処理も完成ですね。
実装してみた感想
さて、カテゴリの設定部分のみの説明となりましたがいかがでしょうか。
画像部分の設定、その他プルダウンやテキスト入力項目部分の処理については過去の記事で紹介しておりますので再度書く必要は無いかなと思っていますが・・・
私が紹介している内容の通りに作り上げたものを動かしてみた結果、問題無く出品できたことは確認済みです。
フリルでたくさん出品してるけど有料ツールは使いたく無い・・・と思っている方はぜひ自作にチャレンジしてみてはどうでしょう。
どのフリマアプリの出品ページも似たようなものなので、一つのサイトの作り方さえ覚えてしまえば大体どこでも動かせる様になると思いますよ。
私もフリルには参戦したいと前々から思っているんですが、ファッション系って”全く”と言って良い程興味が無いのでいまいち手が伸びないんですよねー・・・
とはいえ折角稼げる場所があるのにノータッチというのももったいないので、8月に時間が出来た時に何かやってみようかな・・・と思っています。
配布中の『メルマネ』ベースで良ければ追加機能として用意しても良いんだけど、作業費1万円位で依頼来ないかなぁ(チラッ
ちょっと面倒になったのでフリルのツールについては作成を見送ります。
コメント
ブログ読ませていただきました!
フリルの出品ツールの発注をしたいです!
お値段と納品日数を教えて頂けますでしょうか。
申し訳ありません。フリル用ツールの開発については暫く見送らせて頂きますのでご了承下さい。
質問よろしいでしょうか?
フリル(新ラクマ)の1日の出品数と削除数の制限について、
ご存知でしたら教えてください。
20個までにしているとかでも良いです。
分からないですねーすみません。
制限を受けた方の報告(投稿)を地道に探して、ご自身で目安を設けるしか無いと思います