VB6.0で
IEのオブジェクトを取得した後
例えばテキストにaaaaaという文字を自動入力するとき
IE.document.all.テキスト.value = "aaaaa"
次に送信ボタンを自動でクリック
IE.document.all.送信ボタン.click
これらは理解して出来たのですが下線付きリンクを自動で
クリックさせる方法が分かりません。教えて下さいお願いします。
下線付きリンクはname=のところに何も入っていないようなのです。
ちなみに
IE.navigate {URL} を使えばと言われそうですが
当方の都合でセキリュティがかかっておりそれを使うと何故か
エラーが発生してしまいます。 navigateを使わない方法で
単にクリックさせる動作があれば教えて頂きたいです。
同様の手法で、aオブジェクトのclickメソッドを呼び出してみるとか。
http://msdn.microsoft.com/workshop/author/dhtml/reference/objects/a.asp
> 下線付きリンクはname=のところに何も入っていないようなのです。
anchorsコレクションを列挙するのが手っ取り早いかも。
http://msdn.microsoft.com/workshop/author/dhtml/reference/collections/anchors.asp
あるいは、getElementsByTagName等のメソッドでも良いでしょう。
http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/getelementsbytagname.asp
HTMLの構造が事前に分かっているなら、parentElement, firstChild, childNodes 等を使って辿ることもできますね。
すみません魔界の仮面便士様 いつも勉強させて頂いてます。
anchorsコレクションを列挙というのは
IE.document.anchorsを参照するということですよね。
その下にはlengthしかなく これをどうやって扱えば
下線付きリンクを自動クリック出来るか具体的にお願いします。
> その下にはlengthしかなく
「プロパティ」だけではなく、「メソッド」にも目を向けてみてください。
(先のURLを参照)
> これをどうやって扱えば
「コレクション」ですから、For Eachで列挙できますよ。
魔界の仮面弁士様 いつもありがとうございます
似たようなソースをどこかから持ってきました。
これを実行するとURLの一覧表示は出来ますが
これを自動クリックさせる方法がどうしても分かりません。
ターゲットページの URL 一覧を表示する
all コレクションを使用して href 属性を全て表示します
<SCRIPT language=VBScript>
Dim Ie
Set Ie = CreateObject("InternetExplorer.Application")
Ie.Visible = True
Ie.Navigate("http://hp.vector.co.jp/authors/VA003334/")
function TargetLinkLoad()
Dim AllList
Set AllList = Ie.Document.all
For Each AllObject in AllList
on error resume next
document.write AllObject.href & "<br>"
on error goto 0
Next
Ie.Quit
end function
</SCRIPT>
IE.document.frames(0).document.links.item(2).clickで
解決しました。ありがとうございます。
ツイート | ![]() |