外部 Web サイト ページで生成された div のコンテンツを取得する必要があります。
私はかなり長い間探していましたが、運がありません。
そのページからすべての静的コンテンツを取得できました(クロスドメイン)。ただし、その div のコンテンツは、ページ上のボタンをクリックした後にのみ生成されます。
URL は次のようになります: http://www.xxx.com/getPrice したがって、タイプと郵便番号を選択すると、URL はhttp://www.xxx.com/getPrice?Type=5&postcode=3000になります。
その div のコンテンツは、ページのコンテンツ全体が読み込まれてから約 2 ~ 3 秒後に表示されます。
ここにコードがあります
$.ajax({
url: link,
type: 'GET',
success: function (res) {
var headline = $(res.responseText).find('#divID').text();
$('#container').html(headline);
}
});
アップデート:
jQuery .delay() メソッドは、遅延なく ajax 呼び出しを実行する必要があるため、私の要件を満たすことができません。さらに、呼び出しが実行された後、生成/動的/遅延コンテンツがロードされた後にコールバック関数をトリガーできる必要があります (ページのコンテンツがロードされたときではありません)。だからここに2つの異なる時間があります。それが可能かどうかはわかりません。
更新 2:
完全な方法は私が必要とするものではありません。リクエストが終了するとトリガーされますが、その時までに、div の生成されたコンテンツは生成されていません。だからまだ解決にはなっていません。これが、私が話していることをデモするための写真です。div #output 、そのコンテンツがまだ空であることがわかります。
更新 3:
#output div にコンテンツを挿入するコードを次に示します。
var markerImage = "http://www.racv.com.au/wps/wcm/connect/ebffbd00473d0422974bbfc0de4a49c9/marker.png?MOD=AJPERES&CACHEID=ebffbd00473d0422974bbfc0de4a49c9";
var searchString="";
var fuelType=2;
var resultPage = document.location;
resultPage = String(resultPage).split("?"); // Get URL without the query string
resultPage = resultPage[0];
function searchFuel(){
if (document.getElementById('fuelType3').checked) {
fuelType = 3;
} else if (document.getElementById('fuelType2').checked) {
fuelType = 4;
} else if (document.getElementById('fuelType4').checked) {
fuelType = 6;
} else if (document.getElementById('fuelType1').checked) {
fuelType = 2;
} else if (document.getElementById('fuelType5').checked) {
fuelType = 5;
}
//window.open("/wps/wcm/connect/racv/internet/primary/my+car/advice+_+information/fuel/petrol+prices/search+for+petrol+prices+around+melbourne?fuelType="+fuelType+searchString, '_self')
window.open(resultPage + "?fuelType=" + fuelType + searchString, "_self");
}
この関数は、ボタンをクリックするとトリガーされます。以下はコードです。
<input type="image" style="margin-top: 40px; cursor: pointer;" src="/wps/wcm/connect/993c7080474f0a60a0bff5aa2893940e/fpButton.gif?MOD=AJPERES&CACHEID=993c7080474f0a60a0bff5aa2893940e" alt="search" id="search" border="0" class="submit" onclick="searchFuel();" onmouseover="javascript: this.style.cursor='pointer'">