tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re: IEの自動ログイン
投稿日: 2015/04/10(Fri) 16:25
投稿者はなまるき
補足です

  Public Sub IEInputTextbox(ByRef objIE As Object, str As String, Value As String)
     ’str="pass"です
     On Error Resume Next
    
     Dim objInput As Object
     Dim str1 As String
    
     For Each objInput In objIE.document.getElementsByTagName("Input")
         If InStr(1, objInput.outerHTML, str, vbTextCompare) <> 0 Then
             objInput.Value = Value
             Exit For
         End If
     Next

  End Sub


InputタグのouterHTML
:objInput.outerHTML <input name="pass" class="inputText login" type="password">

検索要素str     :"pass"

において次のような実験をしてみました。

@上記のまま
InStr(1, objInput.outerHTML, str, vbTextCompare) 戻り値:0

A明示的に値を入れなおす
str="pass"
InStr(1, objInput.outerHTML, str, vbTextCompare) 戻り値:>0

B変数に変数を入れてみる
Dim str1 as string
str1=str
InStr(1, objInput.outerHTML, str1, vbTextCompare) 戻り値:=0


タだしところが、strに”inputText login”を渡す場合は戻り値は>0となります。


元々strにはstring型の変数を渡しています。

dim objIE as object
dim rs as adodb.recordset
dim str as string
dim v as string

set objIE=OpenIE()・・・省略
set rs=Createreocordset(strSQL)・・・省略
str=rs.fields("PasswordElement")
v=rs.fields("Value")

ret=IEInputTextbox(objIE,str,v)

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。