データを抽出するWebページがあります。私はVBAで、画像要素をクリックしてからフォームを送信し、データを含むポップアップを作成する以外に、すべてをうまくやることができます。画像要素の属性のVBAを使用しているときにForm.Submitが実行されない
一つが「a12-545」=
「をproductguid」と呼ばれ、文字列値を有しています。
マウスの画像要素をクリックする前に、フォームのHTMLコードが次のように表示されます。
<form id="GetProductQuantitiesForAccessibleBranches" action="GetProductQuantitiesForAccessibleBranches" method="post">
<input type="hidden" name="ProductGuid" value="a12-545">
</form>
私はそれが前の画像要素からproductguid値がフォームに渡されることを前提とこれに基づき:
<form id="GetProductQuantitiesForAccessibleBranches" action="GetProductQuantitiesForAccessibleBranches" method="post">
<input type="hidden" name="ProductGuid" value="">
</form>
この
は私が手動でマウスでクリックした後HTMLコードです提出された。ここで は私のVBAのコードは次のように見えるものです:'Change the input element value
ie.Document.getElementById("GetProductQuantitiesForAccessibleBranches").all.item(0).value = "a12-545"
'Submit the form
ie.Document.getElementyId("GetProductQuantitiesForAccessibleBranches").Submit
ローカル]ウィンドウによると、すべてのJavascriptのイベントはNull
です。両方のコード行はエラーなしで実行されますが、Webページは更新されません。私はここに何かを逃していますか
.Click
メソッドで画像要素をクリックしてみましたが、何もしません。
ウェブページはパスワードで保護されているため、URLを一般公開することはできません。
UPDATE:
ここでは、通常はその後、フォームを送信した手動でクリックされたタグ内のHTMLです。おそらくここには私が使うことができるものがありますか?
<img alt="View Quantities At Other Locations" src="/WebOrder/Images/CheckQtys.gif"
title="View Quantities At Other Locations" class="popup"
popupdirection="upperleft" popupwidth="380"
popupcontent="#ProductQuantitiesForAccessibleBranches"
onbeforepopupcreate="onBeforePopupCreate_GetProductQuantitiesForAccessibleBranches(this)"
popupajaxformid="GetProductQuantitiesForAccessibleBranches"
onbeforepopupajaxpost="onBeforePopupAjaxPost_GetProductQuantitiesForAccessibleBranches(this)"
oncompletepopupajaxpost="onCompletePopupAjaxPost_GetProductQuantitiesForAccessibleBranches(this)"
productguid="a12-545"
displayitem="33902"
brandguid="00000000-0000-0000-0000-000000000000"
brandname="" brandsku="">
クリックイベントに基づいてページ要素の値が変更されている場合は、すべてのJavaScriptイベントがnullではないと思います。 IEオブジェクトは何らかの理由でいくつかのイベントを表示していないかもしれませんが、そのJavaScriptを掘り下げることは、何が起こっているのかを理解するための鍵となります。たとえば、ページ上のスクリプト/イベントを自分で調べます。お気に入りのブラウザの開発コンソール。私はまた、ここにいくつかの専門家を得るためにjavascriptやdomタグを追加することを強く勧めます。 – Mikegrann
ああ、ありがとう。私はChrome Devを使用して疲れましたが、私は何を見ているのか分かりません。ネットワークタブをクリックすると、イニシエータの列にスクリプトが表示されます。マウスオーバーすると、別のものが現れます。私はこの情報をどうしたらいいですか? – TheGuyOverThere
値を設定するには、次のようにします。 'ie.Document.getElementById(" GetProductQuantitiesForAccessibleBranches ")。getElementsbyName(" ProductGuid ")(0).Value =どんなにうまくいくか –