• ベストアンサー

ブラウザのフォームへ自動入力し、ボタンも押すようなプログラム

タイトルのようなプログラムを作ろうと思っています。 どのような方法が考えられますか? 可能であればExcel VBAを利用したいと思っています。 Excelに入力した内容をブラウザへ入力し、ボタンを押すようなイメージです。 要はWebシステムのテスト自動化です。

質問者が選んだベストアンサー

  • ベストアンサー
  • ittochan
  • ベストアンサー率64% (2667/4137)
回答No.1

Internet Exlorer限定であれば DHTMLのExternalオブジェクトを使用した スクリプトを作成して MenuExtキーにぶら下げて 使用するのが考えられます 実例では ここOkWebの回答で 「回答」 「一般人」 「自信なし」 を選択し 「次へ」をクリック をスクリプトで自動化させてます。

rally
質問者

補足

Internet Exlorerに限定しても問題ありません。 MenuExtキーにぶら下げるって言うのはいいですね。 レジストリに追加して・・・ですよね。 差し支えなければ、DHTMLのExternalオブジェクトを使用したサンプルを提供いただけないでしょうか? よろしくお願いします。

その他の回答 (3)

  • ittochan
  • ベストアンサー率64% (2667/4137)
回答No.4

optionsの文字列を取得するのは 例えば、上から2番目の項目は coll(0).options(1).value (表示されている文字列) とか、 coll(0).options(1).text (表示されている文字列に関連付けされた文字列) ですね。

  • ittochan
  • ベストアンサー率64% (2667/4137)
回答No.3

>selectタグの自動設定もやりたいのですが、 >coll2とかでSELECTタグを取得するのかな。 >それともOPTIONタグなのか・・・。 Set coll = external.menuArguments.document.all.tags("SELECT") って感じにします。 collにselectのオブジェクトが格納されるので (selectが複数あればcollは配列になります) selectの何番目(optionタグ)が選択されているかは selectedIndex で確認できますし、 selectedIndexは read/write両方が可能なので、 2番目のoptionタグを選択するには coll(0).selectedIndex = 1 とかにすればいいのでは? (未確認)

rally
質問者

お礼

今回は非常に助かりました。 これで、ある程度のテストの自動化ができそうです。 ありがとうございました。

  • ittochan
  • ベストアンサー率64% (2667/4137)
回答No.2

>サンプルを提供いただけないでしょうか? いいですよ。 <SCRIPT LANGUAGE="VBScript"> dim strUrl1,str2 Set coll = external.menuArguments.document.all.tags("INPUT") coll(2).checked = true :'回答 coll(6).checked = true :'一般人 coll(8).checked = true :'自信なし coll(10).click :'次へ </SCRIPT> です。

rally
質問者

補足

ありがとうございます。かなり参考になりました。 私はjavascript派なので、改良してみました。 collの添え字はnameでも良いですね。 サンプルはラジオボタンですが、textへの入力は実現できました。 selectタグの自動設定もやりたいのですが、coll2とかでSELECTタグを取得するのかな。 それともOPTIONタグなのか・・・。 いろいろと試してみますが、よろしければ手助けください。