tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルIEで開いたページ内のjavaスクリプトを実行したい
記事No9662
投稿日: 2009/12/01(Tue) 22:38
投稿者シクワサ
開発環境
・vb.net 2008
・WindowsXP
・InternetExplorer8

MSHTMLコンポーネントにて外部起動したIEブラウザにCOMリンクして
ブラウザを操作するアプリケーションを製作しております。
そこでブラウザ内のボタンをクリックしてJavaスクリプトを動作させたいのですが、
ソースコードが下記のようになっており、タグを限定してOnClickイベントを
発生させるのが難しいため、直接javaスクリプト(send('〜');の部分)を
実行できないかと考えております。

ソースコード
<A onclick="send('〜');" href="#">ボタン</A>

このようなことができるのかご存じでしたら教えて頂けないでしょうか。

[ツリー表示へ]
タイトルRe: IEで開いたページ内のjavaスクリプトを実行したい
記事No9684
投稿日: 2009/12/02(Wed) 23:54
投稿者KEISUKE
こんばんは、keisukeです。
ソースコード
<A onclick="send('〜');" href="#">ボタン</A>
これだけだと、想像での回答になってしまいますが、、、、
予想されるの動作はそのボタンをクリックすると href="#"の
アドレスへ移動する、という動作になるはずですが、
href="#"にNavigateではまずいのでしょうか??
あくまで、スクリプトを動作させるのが目的でしょうか??

[ツリー表示へ]
タイトルRe^2: IEで開いたページ内のjavaスクリプトを実行したい
記事No9706
投稿日: 2009/12/06(Sun) 12:50
投稿者シクワサ
>  href="#"にNavigateではまずいのでしょうか??
> あくまで、スクリプトを動作させるのが目的でしょうか??

お返事ありがとうございます。
説明不足で申し訳ありませんでした。

Navigateを使用した場合、ページが切り替わって
ログイン前の画面に戻ってしまい
うまく動作する事ができませんでした。

href="#"の #は、略しているのではなく、
ソースコードがこのようになっていて、
あちこちに存在しています。

なのでタグ内のsend('〜')の部分に当たる
javaスクリプト関数を実行する必要があると思っおります。


代案で下記のようなAタグのDOMを順番に調べて、
条件と一致するタグを見つけたらクリックする方法を考えたのですが、
COMリンクエラーが発生してうまくいっておりません。

For Each objTAG As MSHTML.HTMLElement In doc.getElementsByTagName("A")
 If objTAG.value = "ボタン" Then
     objTAG.click()

VBからIEに対しjavaスクリプトを実行させることは
不可能なのでしょうかね。。。

[ツリー表示へ]
タイトルRe^3: IEで開いたページ内のjavaスクリプトを実行したい
記事No9707
投稿日: 2009/12/07(Mon) 05:39
投稿者KEISUKE
コンニチハ、
私は、ボタンをクリックを使用したことが無いので、なんとも何ですが。
このあたりを参考にしては、
http://www.atmarkit.co.jp/fdotnet/dotnettips/860controlwb/controlwb.html

>Navigateを使用した場合、ページが切り替わって
>ログイン前の画面に戻ってしまい
>うまく動作する事ができませんでした。

ただこの件は、単にアドレスがおかしいと感じますが、具体性にかけるというか
情報が少なく理解しかねる状況です。
基本的にアドレスと送信データがあれば希望のページにいけるはずです、
ログインをするところでは、セキュリティーID等が必要になりますが
後フレーム画面ですとフレームの指定も必要かと思いますが。

[ツリー表示へ]