Что нового

Как указать в IE поле input, если нет id, а name не работает?

artu12

Новичок
Сообщения
11
Репутация
0
Текст поля, куда нужно ввести значение
<form action="floten1.php" method="post"> ..........
..........<input name="ship216" size="10" value="0" onfocus="javascript:if(this.value == '0') this.value='';" onblur="javascript:if(this.value == '') this.value='0';" alt="Мега-транспорт452" onchange="miniInfo()" onkeyup="miniInfo()">

Я так понял, что name - это и есть id этого поля

Мой скрипт не работает:
Код:
$mega="111"           ; количество кораблей  для отправки
$flagman="1" 
$oShipmega =_IEGetObjByName($oIE,"ship216")      ; указание текстового поля для прописывания количества флота
$oShipflagman =_IEGetObjByName($oIE,"ship299") 
_IEFormElementSetValue ($oShipmega, $mega)            ; прописывание мегера
_IEFormElementSetValue ($oShipflagman, $flagman)    ; прописывание флагмана


без использования готовых переменных
Код:
$mega="111"
, прописывал просто число
Код:
_IEFormElementSetValue ($oShipmega, 3)
, все равно не работает
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Глобальный модератор.
 

Shinoby

Новичок
Сообщения
81
Репутация
2
а ошибки проверял? они есть или их нет?
 
Автор
A

artu12

Новичок
Сообщения
11
Репутация
0
Ничего не работает. Самое интересное, что ошибок при выполнении не выдает, действие по пунктам:
1. Запуск IE и переход по ссылке.
2. Проходит авторизацию
3. Затем переход по ссылке на страницу командой _IENavigate
4. Не происходит заполнение полей.

При выполнении скрипта ошибок нет, при отладке я не знаю как их проверять.
 

winstan

Эксплотатор)
Сообщения
406
Репутация
79
artu12
Давай полностью код мне тоже интересно стало как js увидел :smile:
 
Автор
A

artu12

Новичок
Сообщения
11
Репутация
0
Код:
#include <IE.au3> 
$Login="artu12"       ; прописываем свой логин
$Parol="stels7522"    ; прописываем пароль
$mega="111"           ; количество кораблей  для отправки
$flagman="1"          ; количество кораблей  для отправки
$line="3"         ; количество кораблей  для отправки
$planet="16"          ; координаты планеты для отправки

$oIE = _IECreate (" http://blazar.ru/login.php")
_IELoadWait ($oIE) 

$oForm = _IEFormGetCollection ($oIE,"submit") ;нужно для нажатия на кнопку Войти
$oUser =_IEGetObjByName($oIE,"username") 
$oPass =_IEGetObjByName($oIE,"password") 
;ввод имени и пароля
_IEFormElementSetValue ($oUser, $Login) 
_IEFormElementSetValue ($oPass, $Parol)
_IEFormSubmit ($oForm)

_IENavigate ($oIE,"http://blazar.ru/fleet.php")      ; переход на страницу флота
_IELoadWait ($oIE)

$oShipmega =_IEGetObjByName($oIE,"ship216")         ; указание текстового поля для прописывания количества флота
$oShipflagman =_IEGetObjByName($oIE,"ship299") 
_IEFormElementSetValue ($oShipmega, "111")           ; прописывание мегера
_IEFormElementSetValue ($oShipflagman, $flagman)    ; прописывание флагмана

$oInputs = _IETagNameGetCollection($oIE, 'input')                   ; нажатие на кнопку продолжить
For $oInput In $oInputs
   If $oInput.type == 'submit' And $oInput.value == 'Продолжить' Then
      _IEAction($oInput, 'click')
   EndIf
Next
$oPlanet =_IEGetObjByName($oIE,"planet") 
_IEFormElementSetValue ($oPlanet, $planet)           ; выбор экспы


$oInputs = _IETagNameGetCollection($oIE, 'input')                   ; нажатие на кнопку продолжить
For $oInput In $oInputs
   If $oInput.type == 'submit' And $oInput.value == 'Продолжить' Then
      _IEAction($oInput, 'click')
   EndIf
Next; нажатие на кнопку продолжить
_IELoadWait ($oIE)



$oInputs = _IETagNameGetCollection($oIE, 'input')                   ; нажатие на кнопку продолжить
For $oInput In $oInputs
   If $oInput.type == 'submit' And $oInput.value == 'Продолжить' Then
      _IEAction($oInput, 'click')
   EndIf
Next
   
   ; сама отправка экспы

_IENavigate ($oIE,"http://blazar.ru/fleet.php")
_IELoadWait ($oIE)
 
$oShipline =_IEGetObjByName($oIE,"ship215")
$oShipmega =_IEGetObjByName($oIE,"ship216") 
   _IEFormElementSetValue ($oShipline, $line)  
   _IEFormElementSetValue ($oShipmega, $mega) 

                   ; нажатие на кнопку продолжить

   
$oInputs = _IETagNameGetCollection($oIE, 'input')                   ; нажатие на кнопку продолжить
For $oInput In $oInputs
   If $oInput.type == 'submit' And $oInput.value == 'Продолжить' Then
      _IEAction($oInput, 'click')
   EndIf
Next


_IEFormElementSetValue ($oPlanet, $planet)
                ; нажатие на кнопку продолжить

   
$oInputs = _IETagNameGetCollection($oIE, 'input')                   ; нажатие на кнопку продолжить
For $oInput In $oInputs
   If $oInput.type == 'submit' And $oInput.value == 'Продолжить' Then
      _IEAction($oInput, 'click')
   EndIf
Next


_IELoadWait ($oIE)
                ; нажатие на кнопку продолжить и последняя отпрака экспы
$oInputs = _IETagNameGetCollection($oIE, 'input')                   ; нажатие на кнопку продолжить
For $oInput In $oInputs
   If $oInput.type == 'submit' And $oInput.value == 'Продолжить' Then
      _IEAction($oInput, 'click')
   EndIf
Next
 

winstan

Эксплотатор)
Сообщения
406
Репутация
79
artu12
к сожелению как попасть на страницу http://blazar.ru/fleet.php я не понел)))
я не стал не куда кликать чтобы не чего тебе там не испортить ;D


Добавлено:
Сообщение автоматически объединено:

Советую сделать вывод переменных
Код:
$oShipmega 
$oShipflagman

и глянуть что лежит в них


Добавлено:
Сообщение автоматически объединено:

и после
Код:
_IELoadWait ($oIE)

добавить
sleep на 100-500мс
 
Автор
A

artu12

Новичок
Сообщения
11
Репутация
0
1.Добавил команду Sleep(2000) Не помогло. время ставил разное: от 500 мс до 5000. Ничего не происходит.
2. Что значит сделать вывод переменных и куда их выводить? я пробовал и без переменных писать с любыми значениями. В поле авторизации на первой странице все прописывается отлично, а тут никак(
3. Добавил скрин этой страницы, может поможет.
 

Вложения

  • Безымянный.jpg
    Безымянный.jpg
    194.3 КБ · Просмотры: 19

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
О, это типа ogame, только на русском. :smile:
А почему на скрине вверху написано Opera ?
Мы же вроде как работу с IE обсуждаем.

Если я не ошибаюсь, то страница ogame была разделена на фреймы.
Скорее всего и в этой игре так.
 
Автор
A

artu12

Новичок
Сообщения
11
Репутация
0
1. Да, это типа Огейма. Может у кого-то есть готовый скрипт для Огейма, а я его просто изменю.
2. Скриншот просто сделал в Опере. Сам скрипт каждый раз запускает IE, по этой части все работает. Я всегда в Опере работаю, хотя у меня 4 браузера)))
3.По поводу фремов: их нет. Это обычная таблица HTML, прикрепленная к Яве.
Меня смущает одно: тут нарисовано 2 таблицы и они слитно идут в коде. Нужная мне таблица начинается там, где красным выделено Вот код:
Код:
<script language="JavaScript" src="scripts/flotten.js?8"></script>
<script language="JavaScript" src="scripts/ocnt.js"></script>

<center><table width='519' border='0' cellpadding='0' cellspacing='1'><tr height='20'><td colspan='9' class='c'><table border="0" width="100%"><tbody><tr><td style="background-color: transparent;">Флоты 6 из 14</td><td style="background-color: transparent;" align="right">4/4 Экспедиция</td></tr></tbody></table></td></tr><tr height='20'><th>Слот</th><th>Миссия</th><th>Количество</th><th>Старт</th><th>Прибытие (цель)</th><th>Цель</th><th>Прибытие
(назад)</th><th>Время возвращения</th><th>Команда</th></tr><tr height=20><th>1</th><th>Экспедиция
<a href="#" onmouseover="return overlib('<table width=140><tr><td class=h>Возвращается домой</td></tr></table>');" onmouseout="return nd();">(R)</a></th><th><a href="#" onmouseover="return overlib('<table width=200><tr><td width=70% align=left><font color=white>Линейный крейсер:<font></td><td width=30% align=right><font color=white>3<font></td></tr><tr><td width=70% align=left><font color=white>Мега-транспорт:<font></td><td width=30% align=right><font color=white>111<font></td></tr>	</table>');" onmouseout="return nd();">114</a></th><th><a href="galaxy.php?mode=3&galaxy=6&system=84&planet=15">[6:84:15]</a></th><th>18. Jun 2014 15:48:58</th><th><a href="galaxy.php?mode=3&galaxy=6&system=84&planet=16">[6:84:16]</a></th><th>18. Jun 2014 19:20:43</th><th><font color="lime"><div id="time_0"><font>01ч. 03м. 55с.</font></th><th> - </th></tr><tr height=20><th>2</th><th>Экспедиция
<a href="#" onmouseover="return overlib('<table width=100><tr><td class=h>Летит к цели</td></tr></table>');" onmouseout="return nd();">(A)</a></th><th><a href="#" onmouseover="return overlib('<table width=200><tr><td width=70% align=left><font color=white>Линейный крейсер:<font></td><td width=30% align=right><font color=white>3<font></td></tr><tr><td width=70% align=left><font color=white>Мега-транспорт:<font></td><td width=30% align=right><font color=white>111<font></td></tr>	</table>');" onmouseout="return nd();">114</a></th><th><a href="galaxy.php?mode=3&galaxy=6&system=84&planet=15">[6:84:15]</a></th><th>18. Jun 2014 18:18:32</th><th><a href="galaxy.php?mode=3&galaxy=6&system=84&planet=16">[6:84:16]</a></th><th>18. Jun 2014 19:50:17</th><th><font color="lime"><div id="time_0"><font>01ч. 33м. 29с.</font></th><th><form action="fleetback.php" method="post"><input name="fleetid" value="8947492" type="hidden"><input value=" Вернуть флот " type="submit" name="send"></form></th></tr><tr height=20><th>3</th><th>Объединить
<a href="#" onmouseover="return overlib('<table width=140><tr><td class=h>Возвращается домой</td></tr></table>');" onmouseout="return nd();">(R)</a></th><th><a href="#" onmouseover="return overlib('<table width=200><tr><td width=70% align=left><font color=white>Звезда смерти:<font></td><td width=30% align=right><font color=white>9<font></td></tr></table>');" onmouseout="return nd();">9</a></th><th><a href="galaxy.php?mode=3&galaxy=8&system=324&planet=4">[8:324:4]</a></th><th>18. Jun 2014 14:07:07</th><th><a href="galaxy.php?mode=3&galaxy=7&system=148&planet=10">[7:148:10]</a></th><th>19. Jun 2014 09:45:48</th><th><font color="lime"><div id="time_0"><font>15ч. 29м. 00с.</font></th><th> - </th></tr><tr height=20><th>4</th><th>Переработать
<a href="#" onmouseover="return overlib('<table width=100><tr><td class=h>Летит к цели</td></tr></table>');" onmouseout="return nd();">(A)</a></th><th><a href="#" onmouseover="return overlib('<table width=200><tr><td width=70% align=left><font color=white>Переработчик:<font></td><td width=30% align=right><font color=white>1<font></td></tr></table>');" onmouseout="return nd();">1</a></th><th><a href="galaxy.php?mode=3&galaxy=5&system=484&planet=6">[5:484:6]</a></th><th>18. Jun 2014 22:46:09</th><th><a href="galaxy.php?mode=3&galaxy=5&system=391&planet=12">[5:391:12]</a></th><th>19. Jun 2014 03:26:30</th><th><font color="lime"><div id="time_0"><font>09ч. 09м. 42с.</font></th><th><form action="fleetback.php" method="post"><input name="fleetid" value="8947661" type="hidden"><input value=" Вернуть флот " type="submit" name="send"></form></th></tr><tr height=20><th>5</th><th>Экспедиция
<a href="#" onmouseover="return overlib('<table width=100><tr><td class=h>Летит к цели</td></tr></table>');" onmouseout="return nd();">(A)</a></th><th><a href="#" onmouseover="return overlib('<table width=200><tr><td width=70% align=left><font color=white>Мега-транспорт:<font></td><td width=30% align=right><font color=white>111<font></td></tr><tr><td width=70% align=left><font color=white>Флагман:<font></td><td width=30% align=right><font color=white>1<font></td></tr>	</table>');" onmouseout="return nd();">112</a></th><th><a href="galaxy.php?mode=3&galaxy=6&system=84&planet=15">[6:84:15]</a></th><th>18. Jun 2014 18:18:24</th><th><a href="galaxy.php?mode=3&galaxy=6&system=84&planet=16">[6:84:16]</a></th><th>18. Jun 2014 19:50:09</th><th><font color="lime"><div id="time_0"><font>01ч. 33м. 21с.</font></th><th><form action="fleetback.php" method="post"><input name="fleetid" value="8947488" type="hidden"><input value=" Вернуть флот " type="submit" name="send"></form></th></tr><tr height=20><th>6</th><th>Экспедиция
<a href="#" onmouseover="return overlib('<table width=100><tr><td class=h>Летит к цели</td></tr></table>');" onmouseout="return nd();">(A)</a></th><th><a href="#" onmouseover="return overlib('<table width=200><tr><td width=70% align=left><font color=white>Линейный крейсер:<font></td><td width=30% align=right><font color=white>3<font></td></tr><tr><td width=70% align=left><font color=white>Мега-транспорт:<font></td><td width=30% align=right><font color=white>111<font></td></tr>	</table>');" onmouseout="return nd();">114</a></th><th><a href="galaxy.php?mode=3&galaxy=6&system=84&planet=15">[6:84:15]</a></th><th>18. Jun 2014 18:18:31</th><th><a href="galaxy.php?mode=3&galaxy=6&system=84&planet=16">[6:84:16]</a></th><th>18. Jun 2014 19:50:16</th><th><font color="lime"><div id="time_0"><font>01ч. 33м. 28с.</font></th><th><form action="fleetback.php" method="post"><input name="fleetid" value="8947491" type="hidden"><input value=" Вернуть флот " type="submit" name="send"></form></th></tr></table></center>[color=red]<center><form action="floten1.php" method="post"><table width="519" border="0" cellpadding="0" cellspacing="1"><tr height="20"><td colspan="4" class="c">Новая миссия: выберите корабли</td></tr><tr height="20"><th>Тип корабля</th><th>Количество</th><th>-</th><th>-</th></tr><input type="hidden" name="ArtifactBonusCargo" value="0" /><tr height="20"><th><a title="Скорость: 34.000">Малый транспорт</a></th><th>150</th><th><a href="javascript:maxShip('ship202'); miniInfo();">Макс.</a> </th><th><input name="ship202" size="10" value="0" onfocus="javascript:if(this.value == '0') this.value='';" onblur="javascript:if(this.value == '') this.value='0';" alt="Малый транспорт150" onChange="miniInfo()" onKeyUp="miniInfo()" /></th></tr><tr height="20"><th><a title="Скорость: 18.750">Большой транспорт</a></th><th>914</th><th><a href="javascript:maxShip('ship203'); miniInfo();">Макс.</a> </th><th><input name="ship203" size="10" value="0" onfocus="javascript:if(this.value == '0') this.value='';" onblur="javascript:if(this.value == '') this.value='0';" alt="Большой транспорт914" onChange="miniInfo()" onKeyUp="miniInfo()" /></th></tr><tr height="20"><th><a title="Скорость: 31.250">Лёгкий истребитель</a></th><th>332.217</th><th><a href="javascript:maxShip('ship204'); miniInfo();">Макс.</a> </th><th><input name="ship204" size="10" value="0" onfocus="javascript:if(this.value == '0') this.value='';" onblur="javascript:if(this.value == '') this.value='0';" alt="Лёгкий истребитель332217" onChange="miniInfo()" onKeyUp="miniInfo()" /></th></tr><tr height="20"><th><a title="Скорость: 34.000">Тяжёлый истребитель</a></th><th>4.809</th><th><a href="javascript:maxShip('ship205'); miniInfo();">Макс.</a> </th><th><input name="ship205" size="10" value="0" onfocus="javascript:if(this.value == '0') this.value='';" onblur="javascript:if(this.value == '') this.value='0';" alt="Тяжёлый истребитель4809" onChange="miniInfo()" onKeyUp="miniInfo()" /></th></tr><tr height="20"><th><a title="Скорость: 51.000">Крейсер</a></th><th>30.247</th><th><a href="javascript:maxShip('ship206'); miniInfo();">Макс.</a> </th><th><input name="ship206" size="10" value="0" onfocus="javascript:if(this.value == '0') this.value='';" onblur="javascript:if(this.value == '') this.value='0';" alt="Крейсер30247" onChange="miniInfo()" onKeyUp="miniInfo()" /></th></tr><tr height="20"><th><a title="Скорость: 49.000">Линкор</a></th><th>67.358</th><th><a href="javascript:maxShip('ship207'); miniInfo();">Макс.</a> </th><th><input name="ship207" size="10" value="0" onfocus="javascript:if(this.value == '0') this.value='';" onblur="javascript:if(this.value == '') this.value='0';" alt="Линкор67358" onChange="miniInfo()" onKeyUp="miniInfo()" /></th></tr><tr height="20"><th><a title="Скорость: 8.500">Колонизатор</a></th><th>1</th><th><a href="javascript:maxShip('ship208'); miniInfo();">Макс.</a> </th><th><input name="ship208" size="10" value="0" onfocus="javascript:if(this.value == '0') this.value='';" onblur="javascript:if(this.value == '') this.value='0';" alt="Колонизатор1" onChange="miniInfo()" onKeyUp="miniInfo()" /></th></tr><tr height="20"><th><a title="Скорость: 5.000">Переработчик</a></th><th>49.998</th><th><a href="javascript:maxShip('ship209'); miniInfo();">Макс.</a> </th><th><input name="ship209" size="10" value="0" onfocus="javascript:if(this.value == '0') this.value='';" onblur="javascript:if(this.value == '') this.value='0';" alt="Переработчик49998" onChange="miniInfo()" onKeyUp="miniInfo()" /></th></tr><tr height="20"><th><a title="Скорость: 250.000.000">Шпионский зонд</a></th><th>14.145</th><th><a href="javascript:maxShip('ship210'); miniInfo();">Макс.</a> </th><th><input name="ship210" size="10" value="0" onfocus="javascript:if(this.value == '0') this.value='';" onblur="javascript:if(this.value == '') this.value='0';" alt="Шпионский зонд14145" onChange="miniInfo()" onKeyUp="miniInfo()" /></th></tr><tr height="20"><th><a title="Скорость: 24.500">Бомбардировщик</a></th><th>1.789</th><th><a href="javascript:maxShip('ship211'); miniInfo();">Макс.</a> </th><th><input name="ship211" size="10" value="0" onfocus="javascript:if(this.value == '0') this.value='';" onblur="javascript:if(this.value == '') this.value='0';" alt="Бомбардировщик1789" onChange="miniInfo()" onKeyUp="miniInfo()" /></th></tr><tr height="20"><th><a title="Скорость: 24.500">Уничтожитель</a></th><th>2.195</th><th><a href="javascript:maxShip('ship213'); miniInfo();">Макс.</a> </th><th><input name="ship213" size="10" value="0" onfocus="javascript:if(this.value == '0') this.value='';" onblur="javascript:if(this.value == '') this.value='0';" alt="Уничтожитель2195" onChange="miniInfo()" onKeyUp="miniInfo()" /></th></tr><tr height="20"><th><a title="Скорость: 49.000">Линейный крейсер</a></th><th>30.607</th><th><a href="javascript:maxShip('ship215'); miniInfo();">Макс.</a> </th><th><input name="ship215" size="10" value="0" onfocus="javascript:if(this.value == '0') this.value='';" onblur="javascript:if(this.value == '') this.value='0';" alt="Линейный крейсер30607" onChange="miniInfo()" onKeyUp="miniInfo()" /></th></tr><tr height="20"><th><a title="Скорость: 34.300">Мега-транспорт</a></th><th>551</th><th><a href="javascript:maxShip('ship216'); miniInfo();">Макс.</a> </th><th><input name="ship216" size="10" value="0" onfocus="javascript:if(this.value == '0') this.value='';" onblur="javascript:if(this.value == '') this.value='0';" alt="Мега-транспорт551" onChange="miniInfo()" onKeyUp="miniInfo()" /></th></tr><th colspan="2"><a href="javascript:noShips();miniInfo();noResources();" >Отменить выбор</a></th><th colspan="2"><a href="javascript:maxShips();miniInfo();" >Выбрать все корабли</a></th></tr><input type="hidden" name="thisgalaxy"     value="6" /><input type="hidden" name="thissystem"     value="84" /><input type="hidden" name="thisplanet"     value="15" /><input type="hidden" name="speedfactor"    value="1" /><input type="hidden" name="thisplanettype" value="3" /><script type="text/javascript">
function getStorageFaktor() {
	return 1
}
</script>

Используйте правильные теги, иначе в следующий раз будет предупреждение.
madmasles
 
Верх