Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нем неправильно. Необходимо обновить браузер или попробовать использовать другой.
Проверить наличие определенной строки таблицы внутри формы (html)
$oIE.document.getElementById('formID').getElementsByTagName('table')[0].rows[2].cells[0].innerText ; вот так правильнее будет
$oIE.document.getElementsByClassName('vis')[0].rows[2].cells[0].innerText ; Так тоже работает
Благодарю. Я так понял, что где элемент не уникален, т.е. не ID, то использовать нужно указатель на элемент.
Код:
Local $oIE = _IEAttach($title)
_IEAction($oIE, "refresh") ; проверка, что окно нужное
Local $sPlayerFlag = $oIE.document.getElementById('command-data-form').getElementsByTagName('table')[0].rows[2].cells[0].innerText
MsgBox(0, '', $sPlayerFlag)
Exit
:( Ошибки:
Код:
" ==> Subscript used on non-accessible variable.:
Local $sPlayerFlag = $oIE.document.getElementById('command-data-form').getElementsByTagName('table')[0].rows[2].cells[0].innerText
Local $sPlayerFlag = $oIE.document.getElementById('command-data-form').getElementsByTagName('table')^ ERROR
>Exit code: 1 Time: 18.45
The requested action with this object has failed
Subscript used on non-accessible variable.
Переезжать на 3.3.12? Попробую еще из под 64-битной запустить.
Добавлено:
Сообщение автоматически объединено:
В связи с тем, что представленное выше упало в ошибку - на getElementsByTagName() грабли, я решил поискать иные варианты.
Код:
Local $sPlayerFlag = $oIE.document.getElementById('command-data-form').getElementsByTagName('span') ; пустота
Local $sPlayerFlag = $oIE.document.getElementById('command-data-form').getElementsByTagName('span')[0]; Subscript used on non-accessible variable.
Local $sPlayerFlag = $oIE.document.getElementById('command-data-form').getElementsByTagName('span')[0].innerText; Subscript used on non-accessible variable.
Добавлено:
Сообщение автоматически объединено:
Пришел к такому варианту:
Код:
; Внутри формы с Id существуют Span с классами, в том числе с нужным data-*, но так как ссылку по классу мне так не удалось сделать, то обход по всем Span в форме
$oForm = $oIE.document.getElementById('formId') ; Object
$oElement = _IETagNameGetCollection($oForm, 'tag', 0) ; Object
$sElement = $oElement.getAttribute('data-*'); String or Keyword (fail)
If IsString($sElement) and $sElement > 0 Then
; Ok
EndIf
Теперь, по-моему, короче некуда. :D
Буду признателен, если кто-то напишет, как его улучшить.
Как нужно правильно делать, если ищете по классу или тэгу. Сам не проверял, но так не пробовал:
Код:
$oElements = $oIE.document.getElementsByTagName('table')
for $oElement in $oElements
; делаем, что требуется
next