Что нового

Обращение к форме IE

Dotacka

Новичок
Сообщения
37
Репутация
0
Добрый день.
Помогите пожалуйста обратиться к форме через IE по ID:

<form id="1" action="2" target="3" data-hash="4" method="post">

c _IEFormGetObjByName не получается((((
 

gunter123

Продвинутый
Сообщения
159
Репутация
69
Если форма имеет ID, можно сделать так:

Код:
$oForm = $oIE.document.getElementById('ID формы')       ; В $oForm форма

$oForm.name = 'MyForm'    ; Присваиваем атрибуту name формы значение "MyForm"
_IEFormGetObjByName('название элемента', 'MyForm')                  ; Теперь можно обращаться через _IEFormGetObjByName, потому что форма теперь имеет имя
 
Автор
D

Dotacka

Новичок
Сообщения
37
Репутация
0
Если форма имеет ID, можно сделать так:

Код:
$oForm = $oIE.document.getElementById('ID формы')       ; В $oForm форма

$oForm.name = 'MyForm'    ; Присваиваем атрибуту name формы значение "MyForm"
_IEFormGetObjByName('название элемента', 'MyForm')                  ; Теперь можно обращаться через _IEFormGetObjByName, потому что форма теперь имеет имя
Cпасибо! Протестировал - возникла ошибка.
1598523852202.png
 

gunter123

Продвинутый
Сообщения
159
Репутация
69
Ошибка означает, что форма с таким ID не найдена. Точно ID формы правильно подставили?
 
Автор
D

Dotacka

Новичок
Сообщения
37
Репутация
0
Ошибка означает, что форма с таким ID не найдена. Точно ID формы правильно подставили?
Добрый день.
ID ввел верный.
А это может быть связано с тем что форма запрятана в div cо своим id - и нужно обратиться сначал к div а потом уже к офрме?
 

gunter123

Продвинутый
Сообщения
159
Репутация
69
Можно открыть нужную страницу в Google Chrome, нажать F12, на панеле справа во вкладке Elements найти нужную форму, нажать на нее ПКМ -> Copy -> Copy selector.
Далее то что скопировалось в буфер обмена вставить в этот код:

Код:
$oForm = $oIE.document.querySelector('сюда вставить селектор')       ; В $oForm форма

MsgBox(4096, '', $oForm.outerHTML)      ; Если форма найдена, покажет html код формы
$oForm.name = 'MyForm'    ; Присваиваем атрибуту name формы значение "MyForm"
_IEFormGetObjByName('название элемента', 'MyForm')                  ; Теперь можно обращаться через _IEFormGetObjByName, потому что форма теперь имеет имя
 
Автор
D

Dotacka

Новичок
Сообщения
37
Репутация
0
Можно открыть нужную страницу в Google Chrome, нажать F12, на панеле справа во вкладке Elements найти нужную форму, нажать на нее ПКМ -> Copy -> Copy selector.
Далее то что скопировалось в буфер обмена вставить в этот код:

Код:
$oForm = $oIE.document.querySelector('сюда вставить селектор')       ; В $oForm форма

MsgBox(4096, '', $oForm.outerHTML)      ; Если форма найдена, покажет html код формы
$oForm.name = 'MyForm'    ; Присваиваем атрибуту name формы значение "MyForm"
_IEFormGetObjByName('название элемента', 'MyForm')                  ; Теперь можно обращаться через _IEFormGetObjByName, потому что форма теперь имеет имя
1598683875917.png
Может мне какого-то #Include не хватает?
 

gunter123

Продвинутый
Сообщения
159
Репутация
69
Нужен только IE.au3
Даже не знаю, что не так
На странице эти данные подгружаются не сразу?

Желательно скиньте сохраненную копию html страницы, или ссылку на страницу или хотя бы скопированный селектор. Можно в ЛС
 
Верх