- 締切済み
Web画面の入力領域へのアクセス方法について
Web画面上にある入力領域に対して文字列を入力するプログラムを 作成したいと思います。 例えば、インターネットエクスプローラを起動して、 YAHOO JAPAN!のホームページを開いて、 検索入力欄に「クリック」という文字列を設定する場合、 下記で実現できますが、 入力領域の指定を、例えば左上から何番目の欄として 指定することはできないのでしょうか? また、入力領域の座標位置として、指定することはでき ないのでしょうか? (ところで、"srchtxt"とは、何者なのでしょうか?). やりたいことは、Webのログイン画面(ユーザIDとパス ワードの2つの入力領域を持つ画面)に、入力を行うこ とです。 Sub Macro1() Dim ie As Object Set ie = CreateObject("InternetExplorer.Application") ie.Visible = True ie.Navigate "http://www.yahoo.co.jp/index.html" ie.Document.getElementById("srchtxt").Value = "クリック" Set ie = Nothing End Sub 以上、よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- DOUGLAS_
- ベストアンサー率74% (397/534)
>http://10.64.13.8 >となっています。 お書きの リンク を クリック しても「このウェブサイトはご利用いただけません。」と表示されますが。。。
- DOUGLAS_
- ベストアンサー率74% (397/534)
#1・2・3 です。 #3 に >もし、お示しのままの html ソース であるとすると と書いてから、いろいろと Web検索してみて http://pares.town.aisho.shiga.jp/ という ページ を発見いたしました。 上記の ページ の ソース を見てみると、okayama394 さんがお示しのものと、ほぼ同じように見えます。 okayama394 さんは、手打ちで #2 への「補足」を書かれたようですね。 ところが、上記の URL を アドレスバー に入れて [Enter] すると、 http://pares.town.aisho.shiga.jp という ページ に飛ばされ、さらに「愛荘町施設予約システム」という ページ に転送(リダイレクト)されてしまいます。 そこの ページ 一番下に >IDやパスワードを忘れてしまった場合は、 お問合せ をご覧ください。 >ユーザーIDをお持ちでない方は、こちら へ。 と書かれているのですが、リンク の貼られている「お問合せ」・「こちら」の双方が リンク切れ になっています。 また、愛荘町 の ホームページ http://www.town.aisho.shiga.jp/ から、「サイトマップ」を開いて、「施設空き情報」を クリック してみると、こちらも リンク切れ になっていました。 okayama394 さんが >Webのログイン画面において、ユーザIDとパスワードをVBA >プログラムにより自動的に入力 したいと思っていらっしゃる ページ が「愛荘町 の ホームページ」でしたら、そもそも「ログイン ページ」そのものがないように思われますが、いかがでしょうか? あるいは、「愛荘町 の ホームページ」でないようでしたら、#3 に書きましたように、お差し支えがなければ、「Webのログイン画面上の上部に表示されている http://XXX~の部分」をお知らせいただければ、私が アクセス して確認してみますが、いかがでしょうか?
- DOUGLAS_
- ベストアンサー率74% (397/534)
#1・2 です。 お示しの html ソース は、どこかの大学の「Campusmate/CourseNavig」の ログイン 画面かと存じますが、もし、お示しのままの html ソース であるとすると、明らかに、文法上間違った記載ですので、その ページ 自体が ログイン できるような構成になっていない、ということになります。 あるいは、okayama394 さんが、html ソース をいじって、必要と思われる ソース のみを、ここに コピペ されたのであれば、「ユーザIDとパスワードを臭わす語句」は、削除された ソース の中にあろうかと存じます。 いずれにいたしましても、このような質疑の場合は、お差し支えがなければ、「Webのログイン画面上の上部に表示されている http://XXX~の部分」をお知らせいただけれると、問題解決が早いかと存じます。
- DOUGLAS_
- ベストアンサー率74% (397/534)
#1です。 >Web画面上に、メニューバーがなく お使いの WEBブラウザ が Internet Explorer でしたら、画面の上の方の アドレス バー や コマンド バー などが並んでいるあたりの何もないところを 右クリック すると [メニュー バー(M)] という項目が現れますので、それを クリック してください。 あるいは、[Alt] + [V] キー を押下すると、[メニュー バー] - [表示] メニュー が現われます。 IE以外の場合は、ブラウザ によって操作が異なりますので、簡単な方法としては、 1)メモ帳 を 起動します。 2)[Ctrl] + [O(オー)] で [開く] ダイアログ を開きます。 3)[ファイル名(N):] のところに、「その ページ」の アドレス を入力し、[開く(O)] を クリック します。 4)メモ帳に読み込まれたものが、「その ページ」の html ソース になります。 実際には、メモ帳 で WEBページ を開くと、改行されずにダラダラと表示されることが多く、とても読みづらいので、私は、Crescent Eve(http://www.kashim.com/eve/)を使っています。
補足
いつも丁寧にありがとうございます。 やってみましたが、何故か、目的の語句が出力されませんでした。 実は、Webのログイン画面において、ユーザIDとパスワードをVBA プログラムにより自動的に入力できないかを考えています。 Webのログイン画面上の上部に表示されている http://XXX~の部分をアドレスとして入力したところ、以下の ように表示され、ユーザIDとパスワードを臭わす語句が見つかりま せんでした。 <HTML><HEAD> <!--<META HTTP-EQUIV="Content-Type" CONTENT="text/html;Charset=iso-2022-jp"> --> <META NAME="Author" CONTENT="Fujitsu Limited"> <TITLE>Interstage</TITLE></HEAD><BODY> TEXT="#000000" BGCOLOR="#FFFFFF"><imgsrc>="fjlogo.gif" WIDTH="50" VSPACE="10" BORDER="0">,div align="center"><IMGSRC="interstage.jpg" WIDTH="50%" HEIGHT="50%" BORDER="0" ALT="Interstage"><BR></div><BR><CENTER> <imgsrc="istage-e.gif" BORDER="0" ALT="InterStageOHP" ALIGN="center" VSPACE="10" HSPACE="10"> </CENTER></BODY></HTML>
- DOUGLAS_
- ベストアンサー率74% (397/534)
インターネットブラウザ は何をお使いか存じませんが、たとえば、Internet Explorer として、 http://www.yahoo.co.jp/index.html の ページ を表示させた後に、[表示(V)] - [ソース(C)] で、その ページ の html ソース を見ることができます。 その中に、 <p><label id="srchtxtBg"><input name="p" id="srchtxt" type="text" value=""></label><input type="submit" id="srchbtn" value="検索"></p> と表示された部分がありますが、これこそが、「検索入力欄」とその右にある「検索ボタン」を表わす html コード になります。 VBA の コード の中に ie.Document.getElementById("srchtxt").Value = "クリック" と書かれていますが、大雑把な解説をすれば、 【「YAHOO JAPAN!のホームページを開いて」いる IE オブジェクト】の【html ソース】の中から【「id="srchtxt"」と書かれた場所】を見つけ出し【その値】を【"クリック"】に設定する というような意味合いになります。 従って、通常は、 >左上から何番目の欄として指定 したり >入力領域の座標位置として、指定 するのではなくて、当該ページ の html ソース を読み、場所を確定した上で、 ie.Document.getElementById("srchtxt").Value = "クリック" ie.Document.getElementsByName("p").item(0).value = "クリック" というような指定の仕方をすると存じます。 Excel VBA から アクセス されるのでしたら、 ie.Document.getElementsByName("p") などを ウォッチ式 に追加してみると、item の数や内容が判りやすいかと存じます。
補足
ご回答ありがとうございます。良くわかりました。 ただ、Web画面上に、メニューバーがなく、、[表示(V)] - [ソース(C)] で、その ページ の html ソース を見ることができない場合は、どうすればよろしいのでしょうか?
補足
ありがとうございます。 http://10.64.13.8 となっています。