Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 1636
Благодарности: 50

Профиль | Отправить PM | Цитировать


Iska, огромнейшее Вам спасибо за помощь! Но Вы как в воду глядели по поводу иерархии... Она всё же есть Я ,ослепленный скорейшим получением решения, по своей глупости слишком абстрагировался от задачи и крайне упростил пример... Прошу меня простить за зря потраченное Вами время.
Теперь же я действительно максимально воссоздал условия.

Как видите, html-структура следующая (на примере двух чисел):
Скрытый текст
Код: Выделить весь код
<div class="number">
	<div class="num3">
		<div class="title">
			<h4 class="string">Число3: </h4>
		</div>
		<div class="value">
			<h5>101</h5>
		</div>
	</div>
</div>

<div class="number">
	<div class="num4">
		<div class="title">
			<h4 class="string">Число4: </h4>
		</div>
		<div class="value">
			<h5>105</h5>
		</div>
	</div>
</div>


Во-первых, тут классы. Во-вторых, общие классы идентичны (class="number"), как и внутренние . Но есть и третье-положительное: никаких регулярок тут не требуется, т.к. значение сидит изолированно в классе "value".

В общем, я попытался вывести нужное значение следующим образом:
Код: Выделить весь код
Option Explicit

Const READYSTATE_COMPLETE = 4

Dim list

With WScript.CreateObject("InternetExplorer.Application")
	.Visible = False
	.Navigate("http://imm.hldns.ru/")
	
	Do
		WScript.Sleep 100
	Loop Until Not .Busy And .ReadyState = READYSTATE_COMPLETE

        list = .document.getElementsByClassName("num3")(0)
	WScript.Echo list.getElementsByClassName("value")(0).innerText
	
	.Quit
End With

Set objRegExp = Nothing

WScript.Quit 0
Однако получаю странную ошибку (Требуется объект '') на строчке:
Код: Выделить весь код
WScript.Echo list.getElementsByClassName("value")(0).innerText
Вы не могли бы подсказать, в чем там может быть ошибка? По сути ведь всё верно. По крайней мере я в инете нашел подобные конструкции:
Код: Выделить весь код
wscript.echo element.getElementsByClassName("span")(0).innerText
Чем моя хуже? Я в list получаю "внутренности" класса "num3". Далее я пытаюсь вывести внутренний текст (искомое значение) по найденному классу "value", который находится внутри list.

Последний раз редактировалось The_Immortal, 15-09-2017 в 03:30.


Отправлено: 23:45, 14-09-2017 | #14