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

タイトル Re: IEの自動ログイン
投稿日: 2015/04/10(Fri) 18:36
投稿者魔界の仮面弁士
> DB内にあるサイトのURL,LoginID,Passwordを登録しておき、
> そのサイトをリストから選択すれば自動でログインできる
> ものを作成しています。

それらのサイトは、どのタイプの認証方法を採用しているのでしょうか?

BASIC 認証のサイトなら、Navigate2 の引数で Authorization ヘッダーを送出することになりますね。

フォーム認証の場合は、提示されているような DOM 操作で行うことになりますが、
その場合、相手先のページの正確な HTML 構造を知る必要がありそうです。


>  Public Sub IEInputTextbox(ByRef objIE As Object, str As String, Value As String)
最初の引数だけ、あえて ByRef 指定にしたのは何故でしょうか?

それと、VB には「Str 関数」が存在しますので、str という変数名は避けた方が良いかと思います。
(予約語では無いので、str という名前が使えないわけでは無いですが…)


> InputタグのouterHTML:objInput.outerHTML <input name="pass" class="inputText login" type="password">
> 検索要素str     :"pass"
> なのですが、instr関数の戻り値が0になります。

たとえば、
 Dim outerHTML As String
 'outerHTML = objInput.outerHTML
 outerHTML = "<input name=""pass"" class=""inputText login"" type=""password"">"
 idx = InStr(1, outerHTML, "pass", vbTextCompare)
のように、HTML 文字列をオンコードで書いてみた場合も InStr が 0 を返しますか?

もし、上記であれば 0 を返さないようであれば、そもそも想定したものとは
異なる文字列を InStr に渡してしまっているのだと思います。
たとえばページ遷移や JavaScript の動作タイミングなどの都合で、
outerHTML から想定とは異なる文字列が渡されていたりはしませんか?

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

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