selenium python

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

メルカリ出品のブラウザ上操作を自動化する その1
Feb. 2, 2020, 1:51 p.m.

目次

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

最近メルカリをヘビーユースしています.

でもブラウザ上でのマウス操作が大嫌いなんです.

というわけで自動化システムの開発をはじめました.

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

特に商品の出品作業.

時間はかかる.

狙った位置をクリックしたりドラッグするのが面倒くさい.

少しマウスの位置がずれるとページが戻って、これまでの入力内容がすべてすっ飛ぶ.

そこで.

手作業はやめる.

エクセルに設定した内容がワンクリックで投稿されるようにする.

今回は画像のアップロードまでいけた.

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

こんな感じになった↓

コマンドを打ってエンター!

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のインストール [ここ][3]から自分の環境にあったバイナリをダウンロード. 適切な場所にインストール.
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