Что нового

[Автоматизация] Помогите. Где ошибка в параметре _IEFormElementSetValue

artu12

Новичок
Сообщения
11
Репутация
0
Все описание в коде Скриншот ошибки во вложении. Ошибка вот здесь: _IEFormElementSetValue ($oship215, $lineship). Почему то ей не нравится этот параметр


Код:
#include <IE.au3> 
$Login="art"           ; прописываем свой логин
$Parol="stel"           ; прописываем пароль
$mega="111"           ; количество кораблей  для отправки
$flagman="1"          ; количество кораблей  для отправки
$lineship="3"         ; количество кораблей  для отправки
$planet="16"          ; координаты планеты для отправки

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

$oForm = _IEFormGetCollection ($oIE,"submit") ;нужно для нажатия на кнопку Войти

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

$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") 
$oPlanet =_IEGetObjByName($oIE,"planet")            ; координаты экспедиции
_IEFormElementSetValue ($oShipflagman, $flagman)    ; прописывание флагмана
_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)           ; выбор экспы


   _IEAction($oInput, 'click')                      ; нажатие на кнопку продолжить

_IELoadWait ($oIE)


_IEAction($oInput, 'click')
   
   ; сама отправка экспы

_IENavigate ($oIE,"http://blazar.ru/fleet.php")
_IELoadWait ($oIE)

$oShipline =_IEGetObjByName($oIE,"ship215")
$oShipmega =_IEGetObjByName($oIE,"ship216") 
_IEFormElementSetValue ($oship215, $lineship)  ; [SIZE=24px]ВОТ ТУТ ОШИБКА[/SIZE]
_IEFormElementSetValue ($oShip216, $mega) 

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

   
      _IEAction($oInput, 'click')


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

   
      _IEAction($oInput, 'click')


_IELoadWait ($oIE)
                ; нажатие на кнопку продолжить и последняя отпрака экспы

   
      _IEAction($oInput, 'click')

 

Вложения

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

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Re: [Автоматизация] В чем ошибка скрипта?

artu12 [?]
; работает только до этого момента
"ship216") ; указание текстового поля для прописывания количества флота
Этот кусок уже не рабочий. Дальше Вы используете старое значение $oForm, которого на этой странице уже нет.
 
Автор
A

artu12

Новичок
Сообщения
11
Репутация
0
Re: [Автоматизация] В чем ошибка скрипта?

Тот кусок просто затерся на этом форуме, вот то, что там написано
$oShipmega =_IEGetObjByName($oIE,"ship216")

Кнопка ($oForm) существует на всех страницах этого сайта и называется она одинаково submit. почему она не работает? или надо для каждого нового окна создавать новую кнопку submit?
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Re: [Автоматизация] В чем ошибка скрипта?

artu12 [?]
Кнопка ($oForm) существует на всех страницах этого сайта и называется она одинаково submit. почему она не работает? или надо для каждого нового окна создавать новую кнопку submit?
Вы не правильно получаете объект $oForm и используете функцию _IEFormSubmit.
На каждой странице таких кнопок может быть полно, а Вам нужна конкретная, относящаяся к конкретной форме.


И в добавок:


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

Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"[Автоматизация] В чем ошибка скрипта?" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

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

artu12

Новичок
Сообщения
11
Репутация
0
Re: [Автоматизация] В чем ошибка скрипта?

Да, спасибо за совет. Таких кнопок там много и все они имеют имя субмит. Тогда у меня вопрос:
А как определить в таблице какая именно кнопка мне нужна в данный момент? как заставить скрипт увидеть в кокой конкретно таблице нужна эта кнопка?
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Re: [Автоматизация] Как выбрать на странице кнопку submit из их множества?

artu12 [?]
А как определить в таблице какая именно кнопка мне нужна в данный момент?
У кнопки есть родительский контейнер, например, на странице http://blazar.ru/login.php у этой кнопки родитель эта форма
Код:
<form action="?do=login" method="post">
	<div>
		<input class="input-text" name="username" placeholder="Логин" value="" type="text" />
		<input class="input-text" name="password" placeholder="Пароль" value="" type="password" />
		<input class="input-submit" type="submit" value="" />
	</div>
</form>
Ее и надо искать, а в ней кнопку. В этом разделе форума полно таких примеров.
 
Автор
A

artu12

Новичок
Сообщения
11
Репутация
0
[Данные, строки] [Автоматизация] Помогите. Где ошибка в параметре _IEFormElementSetValue

Все описание в коде Скриншот ошибки во вложении. Ошибка вот здесь: _IEFormElementSetValue ($oship215, $lineship). Почему то ей не нравится этот параметр

Код самой ошибки
Код:
$oShipline =_IEGetObjByName($oIE,"ship215")
$oShipmega =_IEGetObjByName($oIE,"ship216") 
_IEFormElementSetValue ($oship215, $lineship)  ; ВОТ ТУТ ОШИБКА не хочет проглатывать эту строку
_IEFormElementSetValue ($oShip216, $mega)

Код:
#include <IE.au3> 
$Login="art"           ; прописываем свой логин
$Parol="stel"           ; прописываем пароль
$mega="111"           ; количество кораблей  для отправки
$flagman="1"          ; количество кораблей  для отправки
$lineship="3"         ; количество кораблей  для отправки
$planet="16"          ; координаты планеты для отправки

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

$oForm = _IEFormGetCollection ($oIE,"submit") ;нужно для нажатия на кнопку Войти

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

$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") 
$oPlanet =_IEGetObjByName($oIE,"planet")            ; координаты экспедиции
_IEFormElementSetValue ($oShipflagman, $flagman)    ; прописывание флагмана
_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)           ; выбор экспы


   _IEAction($oInput, 'click')                      ; нажатие на кнопку продолжить

_IELoadWait ($oIE)


_IEAction($oInput, 'click')
   
   ; сама отправка экспы

_IENavigate ($oIE,"http://blazar.ru/fleet.php")
_IELoadWait ($oIE)

$oShipline =_IEGetObjByName($oIE,"ship215")
$oShipmega =_IEGetObjByName($oIE,"ship216") 
_IEFormElementSetValue ($oship215, $lineship)  ; [SIZE=24px]ВОТ ТУТ ОШИБКА[/SIZE]
_IEFormElementSetValue ($oShip216, $mega) 

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

   
      _IEAction($oInput, 'click')


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

   
      _IEAction($oInput, 'click')


_IELoadWait ($oIE)
                ; нажатие на кнопку продолжить и последняя отпрака экспы

   
      _IEAction($oInput, 'click')

 

Вложения

  • Безымянный.png
    Безымянный.png
    4.7 КБ · Просмотры: 77

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Re: [Данные, строки] [Автоматизация] Помогите. Где ошибка в параметре _IEFormElementSetValue

А что это за переменная $oship215 ?
Откуда она взялась? Где ей присваивается какое-нибудь значение?

А за такие картинки по рукам бить нужно! :evil:
 
Автор
A

artu12

Новичок
Сообщения
11
Репутация
0
Re: [Данные, строки] [Автоматизация] Помогите. Где ошибка в параметре _IEFormElementSetValue

эта строка почему-то стирается, когда я копирую на форум.
там было $oShipmega =_IEGetObjByName($oIE,"ship216") ; указание текстового поля для прописывания количества флота

По буквам все правильно, ошибки из-за написания быть не может. Где-то шибка в назначении переменных или неправильная сама функция
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Re: [Данные, строки] [Автоматизация] Помогите. Где ошибка в параметре _IEFormElementSetValue

artu12,
А чем эта тема отличается от Вашей предыдущей темы?
Объединяю их.
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Никакие строки при копировании не стираются.
Строка
Код:
$oShipmega =_IEGetObjByName($oIE,"ship216")

в скрипте присутствует.

Повторяю ещё раз вопрос:
А что это за переменная $oship215 ?
Откуда она взялась? Где ей присваивается какое-нибудь значение
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
artu12,
В вашем коде ошибки практически в каждой строке. В таком виде он не будет работать никогда. Вы почитайте хотя бы мои вчерашние ответы.
 
Автор
A

artu12

Новичок
Сообщения
11
Репутация
0
Все, разобрался. Переменная не была привязана к тексту из-за невнимательности. Правда скрипт все равно не работает, но ошибки уже не выдает) Это уже предмет разбирательства в другой теме.
Тему можно удалить! Она не несет никакой полезной информации
 
Верх