Я относительно новичок во всем этом, и поиск ответа на этот вопрос убил меня. Обратите внимание, что я, возможно, задаю не тот вопрос и, возможно, даже неправильную терминологию, но для чего это стоит:
Как пользователь сайта, я пытаюсь "перемещаться" по внутреннему aspx-сайту, используя объект xmlhttp в VBA. Хотя я могу получить доступ к элементам ID на определенных страницах сайта, используя очевидные строки URL-адреса, некоторые 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
Цель состоит в том, чтобы идентифицировать elementID подкатегории «Велосипеды» (например, «шины»), которая загружается после того, как мы выясним, как «выбрать» основную категорию (значение elementID подкатегории является динамическим).
Пожалуйста, дайте мне знать, если мне нужно разместить больше кода.
Еще раз спасибо за вашу помощь.