HTA для получения данных с веб-страницы в текстовое поле hta

Используя HTA ​​я хочу, чтобы данные с веб-страницы в текстовое поле. Ниже приведен код, который я пытаюсь создать, но я понятия не имею, как вызывать данные с веб-страницы в текстовое поле.

<html>
<head>
<title>My HTML Application</title>
<script language="vbscript">
  urls=("https://www.99acres.com/shri-laxmi-celebration-residency-sector-2b-vasundhara-ghaziabad-npxid-r63907?src=NPSRP&sid=UiB8IFFTIHwgUyB8IzEjICB8IG5vaWRhIzUjIHwgQ1AxMiB8IFkgIzE4I3wgIHwgMTIgfCMzIyAgfCA3ICM1I3wgIHwgMjMgfCM0MyMgIHw=")
    Sub RunLoop()
        window.navigate urls  
    End Sub
</script>
</head>
<body>
<input type="button" value="Click" onclick="RunLoop">
Possession:
<input type="text" name="Possession" Value="">
Configurations:
<input type="text" name="Configurations" Value="">
New Booking Base Price:
<input type="text" name="New Booking Base Price" Value="">
</body>
</html>

Данные, которые мне нужны с веб-страницы.

Выход, который мне требуется в HTA.

1 ответ

Решение

Используя window.ActiveXObject ("Microsoft.XMLHTTP"), мы получаем всю веб-страницу и назначаем ее невидимому / скрытому div (для простоты). Обратите внимание, что это может привести к нежелательному стилю из-за собственного глобального стиля веб-страницы. Лучший способ сделать это - открыть веб-страницу в отдельном IE.

Механизм HTA по умолчанию - IE7, поэтому нам нужно было вставить мета-http-экв ="x-ua-совместимый" контент = "т.е. =9", чтобы поддерживать функциональность getElementsByClassName, потому что на данные, которые мы хотим получить от 99acres.com, ссылались по классу.

Скопируйте приведенный ниже код в блокнот и сохраните его как xxx.hta:

<html>
<head>
<meta http-equiv="x-ua-compatible" content="ie=9">
<title>My HTML Application</title>
<script language="javascript">

var url= "https://www.99acres.com/shri-laxmi-celebration-residency-sector-2b-vasundhara-ghaziabad-npxid-r63907?src=NPSRP&sid=UiB8IFFTIHwgUyB8IzEjICB8IG5vaWRhIzUjIHwgQ1AxMiB8IFkgIzE4I3wgIHwgMTIgfCMzIyAgfCA3ICM1I3wgIHwgMjMgfCM0MyMgIHw=";
var xmlHttp = new window.ActiveXObject("Microsoft.XMLHTTP");

function httpGet(theUrl){
    xmlHttp.open( "GET", theUrl, false );
    xmlHttp.send( null );
    return xmlHttp.responseText;
}

function RunLoop() {
    var data = httpGet(url);
    document.getElementById("tempdiv").innerHTML = data;
    document.getElementsByName("Possession")[0].value = document.getElementsByClassName("factVal1")[0].innerHTML;
    document.getElementsByName("Configurations")[0].value = document.getElementsByClassName("factVal1")[1].innerHTML;
    document.getElementsByName("New Booking Base Price")[0].value = document.getElementsByClassName("factValsecond")[0].innerHTML;
}

</script>

</head>
<body>
<input type="button" value="Click" onclick="javascript:RunLoop();">
Possession:
<input type="text" name="Possession" Value="">
Configurations:
<input type="text" name="Configurations" Value="">
New Booking Base Price:
<input type="text" name="New Booking Base Price" Value="">

<div id="tempdiv" style="display:none;visibility:hidden;height:0px">
</div>

</body>
</html>
Другие вопросы по тегам