javascriptのclickボタンを押せないのはなぜ?
未読分:12件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#12 2017年2月14日(火)21時43分 From: ジャッカル | 返事 削除 変更 |
idじゃなくてclassの「goog-inline-block」を指定してやってみたらどう? > > vbaでieを操作しようとしています。 > 下記のボタンをクリックしようと思っているのですが > うまくいきません。 <div id="btn_product_search"><div tabindex="0" title="" class="goog-inline-block goog-custom-button" role="button" style="-ms-user-select: none;"><div class="goog-inline-block goog-custom-button-outer-box"><div class="goog-inline-block goog-custom-button-inner-box">検索</div></div></div></div> > > ボタンの押下の行い方を教えてください > 下記のように試してみましたが反応しません > > objIE.document.getElementByid("btn_product_search").Click > > ちなみにクリックしたいボタンの上にマウスのカーソルを置くと下記の箇所のコードが変わります > 何か関係してるのでしょうか? > class="goog-inline-block goog-custom-button" > > の中の goog-inline-block goog-custom-buttonの箇所 |
Message#11 2017年2月11日(土)17時53分 From: 初心者 | 返事 削除 変更 |
vbaでieを操作しようとしています。 下記のボタンをクリックしようと思っているのですが うまくいきません。 <div id="btn_product_search"><div tabindex="0" title="" class="goog-inline-block goog-custom-button" role="button" style="-ms-user-select: none;"><div class="goog-inline-block goog-custom-button-outer-box"><div class="goog-inline-block goog-custom-button-inner-box">検索</div></div></div></div> ボタンの押下の行い方を教えてください 下記のように試してみましたが反応しません objIE.document.getElementByid("btn_product_search").Click ちなみにクリックしたいボタンの上にマウスのカーソルを置くと下記の箇所のコードが変わります 何か関係してるのでしょうか? class="goog-inline-block goog-custom-button" の中の goog-inline-block goog-custom-buttonの箇所 |
Message#10 2016年5月7日(土)08時15分 From: ジャッカル | 返事 削除 変更 |
> HTMLエレメント基本操作 > outerTextとinnerTextの違いについて > > ですが、説明の該当部分見ますと > > outerTextプロパティとは > 要素オブジェクトのouterHTMLプロパティは指定した要素オブジェクトの要素内の > テキスト部分のHTMLコードを取得するプロパティです。 > http://www.vba-ie.net/element/outer-innertext.html#a12 > > innerTextプロパティとは > 要素オブジェクトのouterHTMLプロパティは指定した要素オブジェクトの要素内の > テキスト部分のHTMLコードを取得するプロパティです。 > http://www.vba-ie.net/element/outer-innertext.html#a13 > > でタイトルと説明部分の内容が不一致になっています > (どちらも説明が「outerHTMLプロパティは〜」になってます) > > これ正しくはどうなのでしょうか? これまったく別の質問!? 結果は同じだから要素を内包するテキストはすべて抽出するってことでは? |
Message#9 2016年5月3日(火)10時27分 From: LoveLoveTyhoon | 返事 削除 変更 |
HTMLエレメント基本操作 > outerTextとinnerTextの違いについて ですが、説明の該当部分見ますと outerTextプロパティとは 要素オブジェクトのouterHTMLプロパティは指定した要素オブジェクトの要素内の テキスト部分のHTMLコードを取得するプロパティです。 http://www.vba-ie.net/element/outer-innertext.html#a12 innerTextプロパティとは 要素オブジェクトのouterHTMLプロパティは指定した要素オブジェクトの要素内の テキスト部分のHTMLコードを取得するプロパティです。 http://www.vba-ie.net/element/outer-innertext.html#a13 でタイトルと説明部分の内容が不一致になっています (どちらも説明が「outerHTMLプロパティは〜」になってます) これ正しくはどうなのでしょうか? |
Message#8 2016年4月27日(水)15時26分 From: ジャッカル | 返事 削除 変更 |
objIE.document.getElementsByTagName("input") でいけると思うけど、そんなとこでエラーが起きてるって事は読み込みが完全に 完了していないんじゃないかな? イントラページがどうなっているか分からないけど、 その処理する前に10秒ほど処理停止処理いれてみたらどうだろうか。 |
Message#7 2016年4月27日(水)08時17分 From: azu | 返事 削除 変更 |
VBAからIEを操作して、社内イントラネット上の WebサーバからExcelのデータをダウンロードしたいと 考えております。 このサイトの情報を参考にしてWebのトップページを開く ことができたのですが、次のページに移る所で -- オートメーションエラーです。 起動されたオブジェクトはクライアントから切断されました。 というエラーになってしまいます。 [環境] WebページはJavaScripを使用 IE8以降 WindowsServer 2008 R2 [該当のHTML(抜粋)] <ta> <th class="XXX" nowrap> ★ <input name="ABC1" type="btnPrc1" class="XXX" value="Excel形式" ・・・ onClick="this.form.bolMacroRun.value = 0;btnProcess_Click(this.form,'1');" id="btnPrcID1" 略・・・ title="Excel形式で保存"> ★★ <input type="button" name="BtnMacroStart" class="XXX]" value="マクロ実行" onClick="btnMacroStart_Click(this.form,'1');" id="btnMacroStartID1" 略・・・ title="登録済みマクロを実行します。 ・・・・ </th> </ta> 略 --- 【VBAのコード】 '************************************* ' Webページ呼び出し Sub Proc() Dim objIE As InternetExplorer Dim objIE2 As InternetExplorer Dim objTag As Object Call ieView(objIE, "http://XXX.YYY.ZZZ/〜/VVV.asp") For Each objTag In ???・・・点線部 ここで異常終了! ? objIE.document.getElementByID("btnPrcID1") ? ? objIE.document.getElementsByName("btnPrcID1") ? ? objIE.document.getElementsByTagName("input")? If InStr(objTag.outerHTML, ?"Excel形式で保存"?) > 0 Then 'buttonボタンクリック objTag.Click 'IEが完全表示されるまで待機 ` Call ieCheck(objIE) 'ループ脱出 Exit For End If Next End Sub End proc '****************************** Sub ieView(objIE As InternetExplorer, _ urlName As String, _ Optional viewFlg As Boolean = True) 'IE(InternetExplorer)のオブジェクトを作成する Set objIE = CreateObject("InternetExplorer.Application") 'IE(InternetExplorer)を表示・非表示 objIE.Visible = viewFlg '指定したURLのページを表示する objIE.Navigate urlName 'IEが完全表示されるまで待機 ' Call ieCheck(objIE) ' Webページは表示される ' これを入れると異常終了するので一旦除外 End Sub [質問] Q1 HTMLの★または★★の箇所のボタンを押す操作をマクロで実現したいのですが マクロの?の部分でいÝ上終了し冒頭のオートメーションエラーになってしまいます getElementsBy???をいろいろ変えてみたのですがうまくいきません あと少しでできそうなのですがどうしたらいいかアドバアイスをお願いします 以上 |
Message#6 2015年12月22日(火)09時50分 From: VBAマスター | 返事 削除 変更 |
> 'ダウンロードボタンをクリック > Call tagClick(objIE, "input", "ダウンロード") > で設定して実行しましたが、結果は同じです。ダウンロードボタンが押せません。 > タグの値が取れないのでしょうか? 別の要素をクリックしているということはありませんか? For Each objTag In objIE.document.getElementsByTagName(tagName) If InStr(objTag.outerHTML, tagStr) > 0 Then objTag.Click 'Call ieCheck(objIE) Exit For End If Next の objTag.Clickにブレークポイントを設定し、If InStr(objTag.outerHTML, tagStr) > 0 Thenの条件式で要素が認識されているか確認してみてください。 また、認識されている場合は、その要素をouterhtmlメソッドで抽出し、該当する項目なのか確認ください。 もう1つ気になったのが'Call ieCheck(objIE)がコメントアウトされています。 クリック処理後に別の処理を入れている場合は、正常に動作していない可能性もあるので、コメントを解除した状態でされてみるといいと思います。 > > > > > 'ダウンロードボタンをクリック > > > Call tagClick(objIE, "Submit", "ダウンロード") > > > > 第二引数はタグの名前を指定します。Submitはタグではなくname属性の値です。 > > inputタグで設定してみてください。 |
Message#5 2015年12月21日(月)16時52分 From: 清水 義彦 | 返事 削除 変更 |
VBAマスターのメッセージ(#4)への返事 早速のご返答ありがとございます。 'ダウンロードボタンをクリック Call tagClick(objIE, "input", "ダウンロード") で設定して実行しましたが、結果は同じです。ダウンロードボタンが押せません。 タグの値が取れないのでしょうか? > > 'ダウンロードボタンをクリック > > Call tagClick(objIE, "Submit", "ダウンロード") > > 第二引数はタグの名前を指定します。Submitはタグではなくname属性の値です。 > inputタグで設定してみてください。 |
Message#4 2015年12月21日(月)16時35分 From: VBAマスター | 返事 削除 変更 |
> 'ダウンロードボタンをクリック > Call tagClick(objIE, "Submit", "ダウンロード") 第二引数はタグの名前を指定します。Submitはタグではなくname属性の値です。 inputタグで設定してみてください。 |
Message#3 2015年12月21日(月)16時08分 From: 清水 義彦 | 返事 削除 変更 |
VBAマスターのメッセージ(#2)への返事 返答ありがとうございます。 以下の様に書き換えてclick処理で書きかけて実行しましたが、結果はうまくいきません。 'ダウンロードボタンをクリック Call tagClick(objIE, "Submit", "ダウンロード") Sub tagClick(objIE As InternetExplorer, _ tagName As String, _ tagStr As String) 'タグをクリック For Each objTag In objIE.document.getElementsByTagName(tagName) If InStr(objTag.outerHTML, tagStr) > 0 Then objTag.Click 'Call ieCheck(objIE) Exit For End If Next End Sub 引き続きお願い致します。 > > 上記HTMLの > > <input type="button" name="Submit" value=" ダウンロード " onClick="JavaScript: callDownLoad('wh/wh901/Wh901download.jsp')"> > > の部分なのですが、 > > > > VBAで、 > > objIE.navigate "JavaScript: callDownLoad('http://www2.f-j.co.jp:7018/FjWebApp/fj/priks21/wh/wh901/Wh901download.jsp > > と書き、実行したのですが、何も画面が変わらず終わってしまいます。 > > > > 何かいいアドバイスありませんか? > > > > よろしくお願い致します。 > > こちらJavaScriptで処理するのではなく、クリック処理でうまくいかないのでしょうか? > > http://www.vba-ie.net/form/submit.html |
Message#2 2015年12月19日(土)22時59分 From: VBAマスター | 返事 削除 変更 |
> 上記HTMLの > <input type="button" name="Submit" value=" ダウンロード " onClick="JavaScript: callDownLoad('wh/wh901/Wh901download.jsp')"> > の部分なのですが、 > > VBAで、 > objIE.navigate "JavaScript: callDownLoad('http://www2.f-j.co.jp:7018/FjWebApp/fj/priks21/wh/wh901/Wh901download.jsp > と書き、実行したのですが、何も画面が変わらず終わってしまいます。 > > 何かいいアドバイスありませんか? > > よろしくお願い致します。 こちらJavaScriptで処理するのではなく、クリック処理でうまくいかないのでしょうか? http://www.vba-ie.net/form/submit.html |
Message#1 2015年12月19日(土)16時39分 From: 清水 義彦 | 返事 削除 変更 |
<body onload="document.forms[0].subWinOpened.value='0'" onunload = "closeSubWin();"> <form method="post" action="/FjWebApp/FjMaker" target="bottom" name="GoToAp"> <input type="hidden" name="omeThisPageName" value="null"> <input type="hidden" name="omeNextPageName" value=""> <input type="hidden" name="omeErrorPageName" value="Wh901error.jsp" > <input type="hidden" name="companyCode" value="42889" > <table width="100%"> <tr valign="top"> <td class="table-header1">発注データダウンロード</td> </tr> </table> <br> <table> <tr> <td nowrap class="text-caption1-fj-right">メーカコード</td> <td nowrap>42889</td> </tr> <tr> <td nowrap class="text-caption1-fj-right">発注日</td> <td nowrap > <select name="selectDate"> <option selected value="000" >当日 <option value="001" >1営業日前 <option value="002">2営業日前 <option value="003" >3営業日前 </select> </td> </tr> </table> <p> <input type="button" name="Submit" value=" ダウンロード " onClick="JavaScript: callDownLoad('wh/wh901/Wh901download.jsp')"> <a href="JavaScript: openMe()">説明はこちら</a> </p> <!--subWin Opened flag--> <input type="hidden" name="subWinOpened" value=""> <BR><BR> <H2>【発注データの確認】</H2> <UL> <LI>[ファイル名] = [メーカーコード] + [発注データ.seq] <LI>ダウンロード後は、必ず発注日付をチェックして下さい。 </UL> <BR> <H2>【発注データのダウンロードに関しての補足説明】</H2> <UL> <LI>ダウンロードデータには、発注データ一覧表示画面 で表示している内容のデータも含まれております。データのチェックにもご使用下さい <LI><A HREF="JavaScript: openMe1()"> データ項目説明はこちら</A>です </UL> </form> </body> </html> 上記HTMLの <input type="button" name="Submit" value=" ダウンロード " onClick="JavaScript: callDownLoad('wh/wh901/Wh901download.jsp')"> の部分なのですが、 VBAで、 objIE.navigate "JavaScript: callDownLoad('http://www2.f-j.co.jp:7018/FjWebApp/fj/priks21/wh/wh901/Wh901download.jsp と書き、実行したのですが、何も画面が変わらず終わってしまいます。 何かいいアドバイスありませんか? よろしくお願い致します。 |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降