LoginSignup
2
8

More than 3 years have passed since last update.

SBI証券サイトにPythonとSeleniumを使ってログインする

Last updated at Posted at 2021-02-23

SBI証券のサイトにPythonとSelenium使ってログインする方法を解説します。

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

環境

  • Windows 10
  • Python 3.8
  • Selenium 3.141.0

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

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

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

サンプルコード全文

#
# SBI証券サイトへログイン
#

import time
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_sbi"

# ログイン画面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_name("user_id")
e.clear()
e.send_keys(USER)
e = browser.find_element_by_name("user_password")
e.clear()
e.send_keys(PASS)

# ログイン
button = browser.find_element_by_name("ACT_login")
button.click()


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

# time.sleep(3)

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

browser.quit()

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

サイトURLやログイン情報(IDやパスワード)は、JSON形式のファイルに保持するようにしています。以下のサンプルでは楽天銀行とSBI証券の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_sbi": {
    "id": "1234567890",
    "pass": "password",
    "url": "https://site3.sbisec.co.jp/ETGate/"
  }
}
2
8
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
8