質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

Q&A

解決済

1回答

1376閲覧

python+seleniumのスクレイピングでsbi証券 ホーム画面から先物取引画面に遷移できない。

jun123

総合スコア13

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

0グッド

1クリップ

投稿2019/09/01 15:33

編集2019/09/07 14:37

イメージ説明pythonでSBI証券にログインした後に先物取引画面に遷移して取引をしようとしているのですが、
ログインした後、先物のホーム画面から先物取引画面に遷移できません。
HTMLを確認したところ以下のtab_home_dark、tab_trade_brightが怪しいのではないかと思っています。
また、画面を遷移した際に再ロードが行われませんでした。
■画面遷移状態
①ユーザーID、パスワードを入力後「ログイン」ボタン押下
②画面右下の「お取引・口座開設」欄
先物・オプションの「取引」ボタン押下
③先物ホーム画面に遷移(ホーム、取引ボタンが赤い画面)
【問題点】
この時ホーム画面から取引画面を表示することができない。

※ホーム画面選択時
■ホーム画面
src="https://a248.e.akamai.net/f/248/29350/7d/pict.sbisec.co.jp/sbisec/images/base/derive/img/other/tab_home_dark.gif
■取引画面
src="https://a248.e.akamai.net/f/248/29350/7d/pict.sbisec.co.jp/sbisec/images/base/derive/img/other/tab_trade_bright.gif

下記、コードになります。
import unittest
import time
import threading
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome("c:/driver/chromedriver.exe")
driver.get("https://www.sbisec.co.jp/ETGate")

ユーザーIDとパスワードをセット

###SBI証券のログインID
input_user_id = driver.find_element_by_name('user_id')
input_user_id.send_keys()
##SBI証券のログインパスワード
input_user_password = driver.find_element_by_name('user_password')
input_user_password.send_keys()

#ログインボタン押下
login = driver.find_element_by_class_name("ov").click()

#「先物・オプション」ボタンを押下
driver.find_element_by_xpath('//div[@id="side"]/div[2]/div/div/div/div/ul/li[5]/a').click()

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2019/09/01 15:50

ログインは成功しているのですか?
jun123

2019/09/01 16:37

はい。成功しております。 具体的には、下記のようになってます。 説明足らずで申し訳ありません。 サイトを立ち上げた後ログイン→先物・オプション→先物ホーム画面→取引画面(ここに遷移できない)
meg_

2019/09/01 16:47

'//div[@id="side"]/div[2]/div/div/div/div/ul/li[5]/a'の要素自体は取得できていますか? 取得できているがclick()が失敗するのでしょうか?
jun123

2019/09/01 16:54

そこの要素自体は取得できております。 取得をして先物ホーム画面に遷移することはできているのですがその後の取引画面に遷移できません。
t_obara

2019/09/01 23:30

「取引画面に遷移できない」とは具体的にどのような状況のことなのでしょうか。取引画面が表示されないのでしょうか、Pythonで制御できないということでしょうか、それ以外でしょうか。それはどのように確認しているのでしょうか。その点を明確に提示してください。
shirai

2019/09/02 02:30

画面最上部の青いボタン群(左から、家のマーク、マーケット、国内株式・・・と続くやつ)から「先物オプション」をクリックして遷移した後の画面は、ログインしているかしていないかで出現するボタン等に違いはありますか? この青いボタンを押した遷移後の画面が「先物ホーム画面」だと思いますが、「先物取引画面」と思われるものに遷移するボタンが「先物ホーム画面」内に見当たりません。
jun123

2019/09/02 22:30

回答していただきありがとうございます。 画面についてうまく記載できておらず申し訳ありません。 詳細を■画面遷移欄に追記しましたのでご参照ください。
shirai

2019/09/03 02:16

> 画面右下の「お取引・口座開設」欄 > 先物・オプションの「取引」ボタン https://www.sbisec.co.jp/ETGateにアクセスしても それらしい欄やボタンが見当たりません。 これはログインしないと出てこない欄、ボタンですか? ログインしないと出てこないなら ログイン後の画像やそのDOMを書き込んでいただかないと 状況が分からないのでご回答は難しいです。
jun123

2019/09/07 14:40 編集

遅れてしまい申し訳ございません。 遷移したい画面について画像を添付しました。 遷移方法としましては、下記になります。 ①ログイン後(青いメニュー画面)右下にある先物・オプションの「取引」ボタン押下 ②先物ホーム画面(赤いメニュー画面)から「取引」ボタン押下
shirai

2019/09/08 15:37

DOMももらえますか?
shirai

2019/09/20 16:17

htmlもいただきたいですね。。
guest

回答1

0

ベストアンサー

SBI証券のスクレイピングは下記の記事をご参照ください。
https://note.com/11210858628/n/na3289a1779ff

投稿2020/09/03 11:36

ScrapeStorm.jp

総合スコア99

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問