https://www.rakuten-sec.co.jp/ITS/V_ACT_Login.html
の パスワードを 入力したいのですが 下のようにしても
入力できません
オブジェクト変数またはWithブロック変数がせっていされていません と出ます
オブジェクトの 調べる方法がありましたら 教えていただけませんか
MyIe.Document.forms(0).elements("loginid").Value = "12345"
MyIe は IEです
よろしくお願いします
当方の環境ですが XP ホームエディション 2002 サービスパック2
で VB6 SP5 です
# エラーメッセージは正確に。
> オブジェクトの 調べる方法がありましたら 教えていただけませんか
調べる方法を知りたいとの事なので、あえて回答は書かないでおきますね。
今回のように、
MyIe.Document.forms(0).elements("loginid").Value = "12345"
というコードで、そのエラーが発生する場合は、
Debug.Print MyIe Is Nothing
Debug.Print MyIe.Document Is Nothing
Debug.Print MyIe.Document.forms Is Nothing
Debug.Print MyIe.Document.forms(0) Is Nothing
Debug.Print MyIe.Document.forms(0).elements Is Nothing
Debug.Print MyIe.Document.forms(0).elements("loginid") Is Nothing
を実行して、どのオブジェクトが「設定されていない状態」なのかを付き止めましょう。
たとえば、.Document の時点で失敗するようであれば、まだページの読込が
完了していない時に、処理を行おうとしていた可能性があります。
あるいは最後の .Document.forms(0).elements("loginid") で失敗するようなら、
要素名のloginidという指定、もしくは、その前のformsの指定が失敗している
可能性があります。括弧内の指定を見直してみましょう。
また、VBの「ウォッチウィンドウ」や「ローカルウィンドウ」を使うと、
オブジェクトのプロパティを追跡しやすいので、それらも試してみてください。
問題はHTMLの構成を把握できていないことですから、
構成情報を整理して見ることの出来るツールがあればいいですね。
1. Firefox でページ情報を見る / DOM Inspector
2. Internet Explorer Developer Toolbar
(まだβなので取り扱い注意ですが、DOMツリーの表示が出来るので便利です。MSのダウンロードサイトで探して下さい)。
Debug.Print MyIe.Document Is Nothing
こんにちは
下の部分で false
十分時間を待ってしましたが
やはり同じでした
すいません 考えましたが なんでなんでしょう
すいません ボン!頭が割れそうです
Debug.Print MyIe.Document Is Nothing
Internet Explorer Developer Toolbar
面白いものだと思いますが
loginid まで たどりつけずすいません
VB みたいに 選択できるように ツリーで 表示できないですかね
そうすると 選びやすいんですが Classが 絡んできてるような感じで
ただ パスワードと IDを 入力したいだけやのに・・・・
悔しい・・・・
すいません 間違えてました
Debug.Print MyIe Is Nothing
Debug.Print MyIe.Document Is Nothing
Debug.Print MyIe.Document.forms Is Nothing
Debug.Print MyIe.Document.forms(0) Is Nothing
Debug.Print MyIe.Document.forms(0).elements Is Nothing
Debug.Print MyIe.Document.forms(0).elements("loginid") Is Nothing
結果
False
False
False
False
False
True
ということは elements("loginid") がないということですよね
ソースには あるんですが・・・・
わかりません
MyIe.Document.forms(0).elements("loginid").Value = "12345"
の0を 1にかえると できました
MyIe.Document.forms(1).elements("loginid").Value = "12345"
でも 違いがわかりません 多分 forms(1)に 付属する エレメントであると行くことなんでしょうが
それをソースから 区別するには どうすればいいのでしょうか・・・・
わかったようでわからない・・・
すいません
どうやってログイン用のformと他のformを判別すればいいのかが問題ですね。
action 属性値をチェックした方が良いのかもしれません。
# 1つめのformの action の URL に見覚えがありませんか?
パスワードを誤って関係のないサイトやページに送信すると危険なので
やっぱり formのaction属性値をチェックする事をお勧めします。
formsが2つあって それを 区別するのにforms(0) forms(1) とわけてあるわけですね わかってきたようなきがします
ありがとうございました
ツイート | ![]() |