メルカリ出品のブラウザ上操作を自動化する その1

こんにちは、シュンです。

最近メルカリをヘビーユースしています。
でもブラウザ上でのマウス操作が大嫌いなんです。
というわけで自動化システムの開発をはじめました。

ブラウザ上でのメルカリ出品作業は面倒

特に商品の出品作業。
時間はかかる。
狙った位置をクリックしたりドラッグするのが面倒くさい。
少しマウスの位置がずれるとページが戻って、これまでの入力内容がすべてすっ飛ぶ。
そこで。
手作業はやめる。
エクセルに設定した内容がワンクリックで投稿されるようにする。   今回は画像のアップロードまでいけた。

自動化した動作はこんな感じ

こんな感じになった↓
コマンドを打ってエンター!

f:id:chyka:20180201010708p:plain

ブラウザが自動で立ち上がってメルカリが開く。

f:id:chyka:20180201011405p:plain

自動ログインする。

f:id:chyka:20180201011407p:plain

自動で出品ボタンをクリックする。

f:id:chyka:20180201010721p:plain

指定した画像を自動でアップロード。

f:id:chyka:20180201010732p:plain

今回はここまで作成しました。
ワンクリックでブラウザを開く所から画像アップロードまですべて自動で行われます。
一番難関だと思っていたログインと画像アップロードがクリアできたからOK。
あとは簡単でしょう、きっと。

技術的なところの解説

Seleniumのインストール

pip install selenium

Chrome Driverのインストール

ここから自分の環境にあったバイナリをダウンロード。 適切な場所にインストール。

mv ~/Downloads/chromedriver /usr/local/bin

自動で実行する内容のプログラミング

automated.py

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep

URL = "https://www.mercari.com/jp/"

# ブラウザを開く。
driver = webdriver.Chrome()

# メルカリにアクセス
driver.get(URL)

# 読み込み遅いかもしれないから3秒待つ。
sleep(3)

# 出品ボタンクリック
driver.find_element_by_link_text("出品").click()

sleep(3)

# 画像hoodie_red.PNGをアップロード
driver.find_element_by_xpath( "//input[@type='file']" ).send_keys("/Users/shun/Downloads/hoodie_red.PNG")

sleep(3)

# ブラウザを終了する。
driver.close()

# プログラム終了
import sys
sys.exit()

プログラム実行!

python automated.py