リンクをVBで自動クリックさせるには

解決


たけとし  2005-08-21 12:20:07  No: 124285  IP: [192.*.*.*]

VB6.0で
IEのオブジェクトを取得した後


例えばテキストにaaaaaという文字を自動入力するとき
IE.document.all.テキスト.value = "aaaaa"

次に送信ボタンを自動でクリック
IE.document.all.送信ボタン.click

これらは理解して出来たのですが下線付きリンクを自動で
クリックさせる方法が分かりません。教えて下さいお願いします。

下線付きリンクはname=のところに何も入っていないようなのです。

編集 削除
たけとし  2005-08-21 12:25:33  No: 124286  IP: [192.*.*.*]

ちなみに

IE.navigate {URL} を使えばと言われそうですが

当方の都合でセキリュティがかかっておりそれを使うと何故か
エラーが発生してしまいます。  navigateを使わない方法で
単にクリックさせる動作があれば教えて頂きたいです。

編集 削除
魔界の仮面弁士  2005-08-22 09:14:20  No: 124287  IP: [192.*.*.*]

同様の手法で、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 等を使って辿ることもできますね。

編集 削除
たけとし  2005-08-22 16:48:58  No: 124288  IP: [192.*.*.*]

すみません魔界の仮面便士様  いつも勉強させて頂いてます。

anchorsコレクションを列挙というのは

IE.document.anchorsを参照するということですよね。

その下にはlengthしかなく  これをどうやって扱えば

下線付きリンクを自動クリック出来るか具体的にお願いします。

編集 削除
魔界の仮面弁士  2005-08-22 21:01:07  No: 124289  IP: [192.*.*.*]

> その下にはlengthしかなく  
「プロパティ」だけではなく、「メソッド」にも目を向けてみてください。
(先のURLを参照)

> これをどうやって扱えば
「コレクション」ですから、For Eachで列挙できますよ。

編集 削除
たけとし  2005-08-27 00:01:13  No: 124290  IP: [192.*.*.*]

魔界の仮面弁士様  いつもありがとうございます

似たようなソースをどこかから持ってきました。

これを実行すると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>

編集 削除
たけとし  2005-08-28 02:02:40  No: 124291  IP: [192.*.*.*]

IE.document.frames(0).document.links.item(2).clickで
解決しました。ありがとうございます。

編集 削除