Что нового

[IE] Как обратиться к тегу который был до найденого в цикле?

joker2d

Новичок
Сообщения
182
Репутация
0
Есть цикл который ищет теги в IE по названию класса, как можно прочитать то что было записано в теге который был ДО того как нашелся тег с нужным именем класса.

То есть допустим в html есть два тега span, цикл нашел тег span с классом key во втором теге, а как обратится к первому тегу span в этом же цикле ?

Код:
$oInputs = _IETagNameGetCollection($oIE, 'span')
				For $oInput In $oInputs				
					
					If StringInStr($oInput.classname, 'key', 1) Then
					
						$sHTML = $oInput.innerText
						ConsoleWrite($sHTML & @CRLF)
					
						
					EndIf
				
				Next


Реальный цикл будет конечно не из двух тегов.
 

sngr

AutoIT Гуру
Сообщения
1,010
Репутация
408
Код:
$oInputs = _IETagNameGetCollection($oIE, 'span')
$j=0
                For $oInput In $oInputs             
                    $j+=1
                    If StringInStr($oInput.classname, 'key', 1) Then
						MsgBox(32,'',$oInputs.item($j-1).classname))
                    
                        $sHTML = $oInput.innerText
                        ConsoleWrite($sHTML & @CRLF)
                    
                        
                    EndIf
                
                Next
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
А так не проще?
Код:
$oSpans = _IETagNameGetCollection($oIE, 'span')
For $i = 0 To @extended - 1
	If StringInStr($oSpans.item($i).classname, 'key', 1) Then
		If $i Then
			MsgBox(32, '', $oSpans.item($i - 1).classname))
			$sHTML = $oSpans.item($i).innerText
			ConsoleWrite($sHTML & @LF)
		EndIf
	EndIf
Next
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Код:
$oSpans = _IETagNameGetCollection($oIE, 'span')
For $oSpan In $oSpans
	If $oSpan.classname == 'key' Then
		$oSpan = $oSpan.previousSibling
		ConsoleWrite(_IEPropertyGet($oSpan, 'innerText') & ' : ' & _IEPropertyGet($oSpan, 'outerHTML') & @LF)
		ExitLoop
	EndIf
Next


P.S. Автоматизация IE и Web-интерфейса
 

DarWiM

Продвинутый
Сообщения
527
Репутация
90
Garrett
А это будет работать, если предыдущего нет?
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
DarWiM [?]
А это будет работать, если предыдущего нет?
Да.
Раз предыдущего нет, следовательно - "на нет и суда нет" :smile:
Вернётся - Null
 
Верх