2013-05-17 3 views
1

Я извлекаю данные из HTML с помощью Vb Script. Это код HTML, из которого я пытаюсь извлечь данные.getelementsbyID внутренние значения dt id

<dl id="overview"> 
<dt id="overview-summary-current-title" class="summary-current" style="display:block"> 
Current 
</dt> 
<dd class="summary-current" style="display:block"> 
<ul class="current"> 
<li> 
    Software Engineer 
<span class="at">at </span> 
<a class="company-profile-public" href="/company/ABC Systems?trk=ppro_cprof"> 
<span class="org summary">ABC Systems</span></a> 
</li> 
</ul> 
</dd> 

В моем предыдущем вопросе я попросил подобные сомнения. Ссылка: Excel getElementById extract the span class information.

Однако в этом случае я хотел извлечь информацию, соответствующую идентификатору dl, а также идентификатор span. В этом случае мне нужно извлечь информацию, соответствующую идентификатору dt.

В моем скрипте VB я пробовал что-то вроде этого.

Dim openedpage as String 
openedpage = iedoc1.getElementById("overview").getElementById("overview-summary-current-title").innerHTML 

Однако, у меня нет выхода. Я хочу, чтобы выход был Инженер-программист в системах ABC.

Просьба помочь мне.

+0

Является ли это VBScript или VBA? Это разные языки. –

ответ

0

объект, возвращаемый getElementById() не метод .getElementById(), поэтому следующая строка не удается:

.getElementById("overview").getElementById("overview-summary-current-title") 

Если вы не получите никакого вывода, даже не сообщение об ошибке, вы, вероятно, где-то On Error Resume Next в вашем скрипте. Пожалуйста, не используйте это, если вы точно не знаете, что вы делаете. и имеют разумный код обработки ошибок.

Кроме того, элемент с идентификатором «Обзор-резюме тока титульный» заключается в следующем:

<dt id="overview-summary-current-title" class="summary-current" style="display:block"> 
Current 
</dt> 

Таким образом, вы не могли возможно извлечь текст «инженер-программист в ABC систем» от этого элемента.

Попробуйте выбрать первый <ul> тег из элемента с идентификатором «Обзор», а затем использовать innerText свойство вместо innerHtml собственности:

Set ie = CreateObject("InternetExplorer Application") 
ie.Navigate "..." 
While ie.Busy : WScript.Sleep 100 : Wend 

Set e1 = ie.document.getElementById("overview") 
Set e2 = e1.getElementsByTagName("ul")(0) 
WScript.Echo e2.innerText 
+0

Спасибо большое .. Я был смущен тем, как извлечь правильную информацию. Ваша помощь очень ценится. – Ramesh