如何使用xmlhttp检索onClick/onChange数据

How to retrieve onClick/onChange data using xmlhttp

本文关键字:onChange 数据 onClick 检索 何使用 xmlhttp      更新时间:2023-09-26

我对这一切都比较陌生,搜索这个问题一直在折磨我。请注意,我可能问错了问题,甚至可能用错了术语,但值得一提的是:

作为一名网站用户,我正在尝试使用VBA中的xmlhttp对象"浏览"内部aspx网站。虽然我可以通过使用明显的URL行访问某些网站页面上的elementID,但某些elementID是动态生成的,因此在用户从菜单中进行选择之前不可用。信息是通过某种onChange/onClick/javascript/postback函数加载的。有没有办法检索这种动态信息?此外,这种做法是否正确?

注意:我可以使用IE对象来完成所有这些,但出于性能原因,我确实在努力避免它。

文档检查后,网页端代码显示:

<select name="ctl00$plcContent$Item1$Tabs$tabServices$Services$ddServiceCats" onchange="javascript:setTimeout('__doPostBack(''ctl00$plcContent$Item1$Tabs$tabServices$Services$ddServiceCats'','''')', 0)" id="ctl00_plcContent_Item1_Tabs_tabServices_Services_ddServiceCats">
<option selected="selected" value="00000000-0000-0000-0000-000000000000">Select Service Category</option>
<option value="3f44517e-135a-466a-8440-9b1250d5285b">Kites</option>
<option value="7ec669b7-4d2c-4216-b19e-491faa13995a">Bikes</option>
<option value="f0bb692f-3df7-4c04-80d4-7e2b4a2805c3">Tikes</option>
.
.
.

我用来访问网页的VBA如下:

With xml
    .Open "GET", BASE_URL3, False
    .setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    .Send ([no idea what to write here for the purposes of this question])
End With

目标是确定"Bikes"子类别(例如,像"tires")的elementID,该子类别在我们弄清楚如何"选择"主类别后加载(子类别的elementID值是动态的)。

如果我需要发布更多代码,请告诉我。

再次感谢你的帮助。

我认为问题的根源在于很难将客户端使用JavaScript执行的内容与服务器端执行的内容(我认为是VBA)区分开来。

当你谈到"站点"时,我认为你指的是一个页面,同时对页面上的URL和HTML元素感到困惑,你也在混淆你的隐喻。

老实说,我不完全理解你在描述什么以及你想做什么

要直接回答您的问题:是的,您可以检索通过xmlhttp请求从服务器发送的动态信息。希望您正在使用一个框架在客户端执行该请求,并且xmlhttp请求中的回调方法将包含来自服务器的数据负载(响应)。如果不看正在执行的代码,很难为您提供详细的指导。

如果由于某种原因,您无法访问AJAX请求的回调方法,您也可以内省结果页面的DOM结构,但您需要再次知道您在寻找什么(即,结果更新了哪些元素)。

张贴一些coed,也许我们可以帮助你。