2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

マネックス証券サイトにPythonとSeleniumを使ってログインする

Last updated at Posted at 2021-02-23

マネックス証券のサイトにPythonとSelenium使ってログインするコードを書いてみました。

※2021/02/23時点の情報です

環境

  • Windows 10
  • Python 3.8
  • Selenium 3.141.0

全体の処理の流れと注意点

全体の処理の流れについては、下記記事に詳しく書いたのでこちらもあわせて確認してみてください。楽天銀行の例になっていますが、処理の流れは同じです。

また、下記記事では他サイトのサンプル一覧と注意点を解説しているのでこちらも参考にしてみてください。

サンプルコード全文

#
# マネックス証券サイトへログイン
#

import json
from selenium.webdriver import Firefox, FirefoxOptions
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec

# 設定ファイルを取得
login_info = json.load(open("login_info.json", "r", encoding="utf-8"))

# ログインサイト名
site_name = "sec_monex"

# ログイン画面URL
url_login = login_info[site_name]["url"]

# ユーザー名とパスワードの指定
USER = login_info[site_name]["id"]
PASS = login_info[site_name]["pass"]

# Firefoxのヘッドレスモードを有効にする
options = FirefoxOptions()
options.add_argument('--headless')

# Firefoxを起動する
browser = Firefox(options=options)

# ログイン画面取得
browser.get(url_login)

# 入力
e = browser.find_element_by_id("loginid")
e.clear()
e.send_keys(USER)
e = browser.find_element_by_id("passwd")
e.clear()
e.send_keys(PASS)

# ログイン
button = browser.find_element_by_xpath("//form[@id='contents']/div/p/input")
button.click()

# ページロード完了まで待機
WebDriverWait(browser, 10).until(
    ec.presence_of_element_located((By.CLASS_NAME, "user-info"))
)

# ログインできたか確認(画面キャプチャ取る)
browser.save_screenshot("../screenshots/sec_monex/home.png")

browser.quit()

ログイン情報設定ファイル

サイトURLやログイン情報(IDやパスワード)は、JSON形式のファイルに保持するようにしています。以下のサンプルでは楽天銀行とマネックス証券の2サイトの情報と設定しています。

"id", "pass"の値を書き換えればそのまま使えるはずです。

なお、このファイルだけは絶対に漏洩しないよう、管理方法に注意しましょう!

login_info.json
{
  "bank_rakuten": {
    "id": "1234567890",
    "pass": "password",
    "url": "https://fes.rakuten-bank.co.jp/MS/main/RbS?CurrentPageID=START&&COMMAND=LOGIN"
  },
  "sec_monex": {
    "id": "1234567890",
    "pass": "password",
    "url": "https://mxp1.monex.co.jp/pc/ITS/login/LoginIDPassword.jsp"
  }
}
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?