Что нового

Каким образом можно в данном окне IE нажимать кнопки.

ice7

Новичок
Сообщения
4
Репутация
0
Только начинаю осваивать Autoit.
Ибо потребовалось автоматически загружать файлы в банк через IE.
Захожу на сайт, авоматически авторизуюсь.



$oIE = _IECreate ($Adress) ;открываем сайт банка
_IELoadWait ($oIE) ; Ожидаем страницу

$oForm = _IEFormGetObjByName ($oIE, "loginForm") ; работаем с формой такой то

$oUser =_IEGetObjByName($oIE,"User")
$oPass =_IEGetObjByName($oIE,"password")

_IEFormElementSetValue ($oUser, $LoginCitiBank) ;тут вводим свой логин
_IEFormElementSetValue ($oPass, $PasswordCitiBank) ; тут вводим свой пароль

_IEFormSubmit ($oForm) ; на форме одна кнопка жмем ее. кнопуля "Log in".
Далее автопереход на страницу, где необходимо выбрать файл через "Обзор", далее нажать "Upload File"


Часть HTML кода.
class="tx0"><b>file </b></td>
<td align="right"><input autocomplete="off" class="bu0" type=file name="File" size=15></td>
</tr>
<tr><td align="right">
<input type="button" class="bu0" value="Upload File" onclick="javascript:if (document.STupload.File.value.length>0)document.STupload.submit(); else alert('Please enter a file to upload');document.STupload.File.focus();"
onmouseover="window.status='Upload File'; return true;"
onmouseout="window.status=''; return true;">
</td></tr>

</form>
</table>
</td>
<td width="5" nowrap><img src="../../icons/jb9/1.gif" border="0" alt="" width="1" height="1"></td>
<td width="1" bgcolor="#999999" nowrap><img src="../../icons/jb9/1.gif" border="0" alt="" width="1" height="1"></td>
<td width="5" nowrap><img src="../../icons/jb9/1.gif" border="0" alt="" width="1" height="1"></td>
<td valign="top">
<!-- directory listing -->
<table cellpadding="0" cellspacing="0" border="0" width="100%" align="center">

<tr><td width="20" nowrap align=left class="tx0"> </td>
<td class="tx1"><b>Name</b></td>
<td class="tx1"><b>Size</b></td>
<td class="tx1"><b>Date</b></td>
</tr>
<script>
files.type='radiox';
function PrintFileURL(url,name,dir,size,date,icon) {
var i = files.n();
files.add(name,url,0,dir?'directory':'file');
if (i % 5 == 0) {
document.write(
'<tr><td colspan="4" height="1" bgcolor="#999999" nowrap>',
'<img src="/icons/jb9/1.gif" border="0" alt="" width="1" height="1">',
'</td></tr>');
}
<!-- column 0: checkbox -->
document.write(
'<tr>',
'<td width="20" nowrap align=left class="tx0">',
'<img border="0" alt="" src="/icons/jb9/c0.gif" id="f_',files.n()-1,'"',
'onmouseover="style.cursor=\'hand\'" onmouseout="style.cursor=\'default\'" onclick="files.clickit(\'',i,'\')">',
'</td>');
<!-- column 1: download link -->
document.write('<td nowrap align=left class="tx0">');
if (dir) {
document.write(
'<a class="tx0" href="',url,'/?T">');
} else {
document.write(
'<a class="tx0" href="javascript:Active:rofl:ownload(\'',name,'\',\'',url,'\')"',
'onMouseOver="window.status=\'Download ',name,'\';return true"',
'onMouseOut="window.status=\'\';return true">');
}
document.write(
'<img border="0" alt="" src="',icon,'"> ',name,
'</a>',
'</td>');
<!-- column 2: size -->
document.write(
'<td nowrap align=left class="tx0">',(dir?' ':size),'</td>');
<!-- column 3: date -->
document.write(
'<td nowrap align=left class="tx0">',date,'</td>',
'</tr>');
}
</script>

<tr><td colspan="4" height="1" bgcolor="#999999" nowrap><img src="../../icons/jb9/1.gif" border="0" alt="" width="1" height="1"></td></tr>

<script>
if (files.n() > 0) {
document.write(
'<tr><td colspan="4" height="5" nowrap><img src="../../icons/jb9/1.gif" border="0" alt="" width="1" height="1"></td></tr>',
'<tr>',
Подскажите ожалуйста с помощью какой функции _IE*** можно нажимать данные кнопки?
Также как при авторизации, нажать одинокую кнопку на форме не получается.
_IEFormGetCollection выдает 2 формы Stform и STupload,
но вызов:
Код:
$oForm2 = _IEFormGetObjByName ($oIE, "Stform  или STupload")  
 _IEFormSubmit ($oForm2)
не помогает.
Скорее всего все достаточно элементарно, просто подскажите нужную дорогу=)
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
ice7
Попробуйте так
Код:
;...
$oInputs = _IETagNameGetCollection($oIE, 'input')
For $oInput In $oInputs
	If $oInput.type == 'button' And $oInput.value == 'Upload File' Then
		_IEAction($oInput, 'click')
	EndIf
Next

По поводу кнопки Обзор попробуйте по аналогии с этим:
Код:
#include <IE.au3>

$oIE = _IECreate("http://www.multiupload.com/")
$oInputs = _IETagNameGetCollection($oIE, 'input')
For $oInput In $oInputs
	If $oInput.type == 'file' And $oInput.name == "file_0" Then
		_IEAction($oInput, 'click')
	EndIf
Next

А чтобы посмотреть эти $oInput.type, $oInput.name или $oInput.value, советую Вам поставить это: DebugBar
 
Верх