認証番号等を入力してログインしたのですがうまくいきません教えて下さい
' フォーム入力
objIE.document.Forms(0).Item("1").Value = "xxxxx" '1
objIE.document.Forms(0).Item("2").Value = "xxxxx" '2
objIE.document.Forms(0).Item("3").Value = "xxxxx" '3
'下記のログイン用構文から
<div class="btnSubmit">
<input type="button" id="loginButton" value="ログイン">
</div>
'ログインボタンを探して押したく下記のように書きましたが失敗して上手く行きません
どのような記述が宜しいのでしょうか教えて下さい
For Each objTag In objIE.document.all.objTag("input")
If objTag.value = "ログイン" Then
objTag.Click '失敗
objTag.Click() '失敗
End If
Next
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
JScriptかVBSなんでしょうけれど・・・(少なくともjavascriptではなさそう)
MS系はあまり良くは知らないのですが、
クリックは、Element.Click()でいけるはず。
察するところ、
1)読み込みが終了する前に処理しようとしている
(フォーム入力ができているならこれではなさそうですが)
2)objIE.document.all.objTag("input")で要素(群)が取得できていない
(objTag("input")という取得メソッドはありましたっけ??)
あたりが原因ではないでしょうか?
要素の取得には、getElementByIdやquerySelector等も使えるはずと思いますので、そちらの方がより簡便かと思います。
以下のVBSは、質問者様の環境では動作しませんか?
1)Yahooの検索ページを表示
2)検索入力に「教えてgoo」と入力
3)検索ボタンをクリック
Dim objIE, elm
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate "http://search.yahoo.co.jp/"
Do Until objIE.readystate = 4
Wscript.Sleep 200
Loop
objIE.Document.querySelector("#yschsp").Value = "教えてgoo"
Set elm = objIE.Document.querySelector("#sbn input[type='submit']")
'MsgBox elm.Value
elm.Click()
'objIE.Quit
'Set objIE = Nothing
No.2
- 回答日時:
どうせIEの制御なら、VBAとの相性も考えてVBSの方がよいかも
test.htm
<form>
1:<input type="text" name="1"><br>
2:<input type="text" name="2"><br>
3:<input type="text" name="3"><br>
</form>
<div class="btnSubmit">
<input type="button" id="loginButton" value="ログイン" onclick="alert('test')">
</div>
test.vbs
URL="http://exsample.com/test.htm”
Set WSHShell=Wscript.CreateObject("Wscript.Shell")
set objIE=Wscript.CreateObject("InternetExplorer.application")
objIE.navigate2(URL)
objIE.visible=true
objIE.document.Forms(0).Item("1").Value = "xxxxx" '1
objIE.document.Forms(0).Item("2").Value = "xxxxx" '2
objIE.document.Forms(0).Item("3").Value = "xxxxx" '3
For Each objTag In objIE.document.getElementsByTagName("input")
If objTag.value = "ログイン" Then
msgbox "pause"
objTag.Click()
End If
Next
とりあえず、読み込み待ちのためpauseしています。
msgboxの行を削除して稼働しないならなんらかのウェイト処理が必要かも
また、適当にセキュリティレベルを下げないと動かない可能性はあります
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript プログラムがうまく動きませんレビューお願いします 1 2022/07/10 05:08
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- その他(プログラミング・Web制作) Pythonで会員サイトの自動ログイン ID Nameがない 1 2022/12/16 02:09
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
グーグルマップの文字化けで困...
-
リンクでPOSTデータを送信する...
-
INPUTのボタン周囲のスペース
-
input button の文字の色を2色...
-
getParameterで値が取得できず...
-
SUBMITボタンを表示させないでS...
-
HTMLボタンの文字色を変え...
-
ボタンを押さずにボタンを押す...
-
<FORM> </FORM> の中に さらに...
-
画面遷移が不正ですと表示されます
-
同じソリューション内の別のプ...
-
グリッドビューでのチェックボ...
-
VBAで一時中断したプログラムの...
-
複数選択のListBoxでClickイベ...
-
c# 文字列の最後から1文字削除...
-
コネクション・セッション・ト...
-
勝手にログアウトされてしまい...
-
Webページ上のボタン等の位置を...
-
Accessの画面更新を一時的に停...
-
aspxをhtmlに変換する方法について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HTMLボタンの文字色を変え...
-
checkboxとlabelがずれる
-
submitボタンにvalue属性の値で...
-
ボタンをクリックした時に、入...
-
getParameterで値が取得できず...
-
SUBMITボタンを表示させないでS...
-
リンクでPOSTデータを送信する...
-
ボタンのなかに表示する文字を...
-
UWSC
-
グーグルマップの文字化けで困...
-
HTMLだけでボタン作成
-
<FORM> </FORM> の中に さらに...
-
INPUTのボタン周囲のスペース
-
ボタンリンクの文章を二行に・・・
-
inputのtextとsubmitの高さがズ...
-
ボタンを押さずにボタンを押す...
-
戻ると、記入フォームの内容が...
-
formの送信ボタンをテキストに...
-
どのボタンが押されたかの判定
-
ただいま勉強始めたての初心者...
おすすめ情報