fc2ブログ

トップ画面

トップ画面のHTMLソース(一部を抜粋)は以下のようになっています。
スポンサーリンク
<html>
<head></head>
<body>
<a href="xxx" target="_top">注文照会・訂正・取消へ</a>

<table>
<tr><td></td></tr>
<tr>
<td><div><nobr>本日入金金額</nobr></div></td>
<td><div><nobr>0 円</nobr></div></td>
</tr>
<tr>
<td><div><nobr>日本株式購買余力</nobr></div></td>
<td><div><nobr>XX,XXX,XXX 円</nobr></div></td>
</tr>
<tr>
<td><div><nobr>米国株式購買余力</nobr></div></td>
<td><div><nobr>0.00&nbsp;USD</nobr></div></td>
</tr>
</table>
</body>
</html>
このようなHTMLのとき、トップ画面クラスは以下のようになります。
Public Class RakutenTop
Inherits AbstructRakutenWebLoginSession

Private Shared ReadOnly log As log4net.ILog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)

Sub New(ByVal screen As AbstructRakutenWebScreen)
MyBase.new(DirectCast(screen, AbstructWebScreen))
End Sub

'日本株式購買余力
Function Balance() As Long

log.Info("日本株式購買余力を確認します。")

Dim rtn As Long = 0
Try
Dim isFind As Boolean = False
_ie.RootFrame().Frame("middleframe").Frame("rightframe")

Dim i As Integer
For i = 10 To _ie.RootElement().Element("table").length - 1
_ie.RootElement().Element("table", i)
If _ie.IsNothingElement() Then Continue For
If _ie.InnerText Is Nothing Then Continue For
If _ie.InnerText.IndexOf("日本株式購買余力") >= 0 Then
Dim str As String
str = _ie.Element("nobr", 3).InnerText
rtn = Long.Parse(str.Substring(0, str.Length - 2), Globalization.NumberStyles.AllowThousands)
isFind = True
Exit For
End If
Next

If isFind = False Then
log.Warn("日本株式購買余力の確認処理は失敗しました。")
End If

Catch e As Exception
DispatchException(e, "日本株式購買余力の確認処理")
End Try

Return rtn

End Function

Function GoOrderList() As OrderList

Try
_ie.RootFrame().Frame("middleframe").Frame("rightframe")

Dim i As Integer
For i = 0 To _ie.Element("a").length - 1
_ie.RootElement().Element("a", i)
If _ie.IsNothingElement() Then Continue For
If _ie.InnerText Is Nothing Then Continue For
Dim sstr As String
sstr = _ie.InnerText
If sstr = "注文照会・訂正・取消へ" Then
_ie.Click()
Return New OrderList(Me)
End If
Next

Catch e As Exception
DispatchException(e, "注文照会画面への遷移処理")
End Try

Throw New WebScreenException("注文照会画面への遷移処理")
End Function

End Class
RakutenTopクラスは、AbstructRakutenWebLoginSessionクラスを継承しています。Balanceメソッドは、日本株式の購入余力額を取得するメソッドです。HTMLと見比べながら、ソースコードを追ってみてください。GoOrderListメソッドは、注文一覧画面への画面遷移を行います。
スポンサーリンク
<<ログイン画面 | ホーム | 買い検索画面>>
コメント(0)
コメントの投稿
トラックバック(0)