Что нового

Не срабатывает Fireevent при выборе select

sasha1304

Новичок
Сообщения
41
Репутация
0
Здравствуйте. столкнулся с проблемой, после входа на сайт, нужно выбрать значение select option, скрипт выбирает нужное значение, всё хорошо, НО подтверждения на сайте что скрипт выбрал нужное значение НЕТ. По видимому не срабатывает fireevent или что то ещё, не пойму.

код select

Код:
<select id="amount_type">
<option value="payout" id="payout_option">Выплата</option>
<option value="stake" id="stake_option">Ставка</option>
</select>

что делает скрипт
Код:
#include <IE.au3> 

$url ="https://www.binary.com/ru/trading.html?currency=USD&market=volidx&underlying=R_10&formname=risefall&date_start=now&duration_amount=10&duration_units=t&amount=1&amount_type=stake&expiry_type=duration"
$ie_gui = _IECreate($url)
WinSetState(_IEPropertyGet($ie_gui, 'hwnd'), "", @SW_MAXIMIZE)
_IELoadWait($ie_gui)
If @Error Then
	MsgBox(64,"тест","Браузер не найден")
EndIf
Sleep(5000)

$websocket_form = _IEGetObjById($ie_gui,"websocket_form")
$select_amount_type = _IEGetObjById($websocket_form,"amount_type")

$select_amount_type.fireEvent("OnKeyDown")
$select_amount_type.fireEvent("OnKeyUp")
_IEFormElementOptionSelect($select_amount_type,"payout",1,"byValue")


значение select можно менять через адресную строку, но тогда перезагрузится страница, чего не нужно делать. подскажите, что делать?
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
fireevent объявлен устаревшим и не поддерживается в ie
 
Автор
S

sasha1304

Новичок
Сообщения
41
Репутация
0
inververs сказал(а):
fireevent объявлен устаревшим и не поддерживается в ie

а как тогда сделать не подскажите?


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

никто не подскажет чтоли? неделю уже бьюсь с этим :-\
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
sasha1304
Как вариант
Код:
_IEAction($select_amount_type, "focus")
If _IEFormElementGetValue($select_amount_type) = "stake" Then ControlSend(_IEPropertyGet($ie_gui, 'hwnd'), "", "Internet Explorer_Server1", "{up}")
 
Автор
S

sasha1304

Новичок
Сообщения
41
Репутация
0
InnI сказал(а):
sasha1304
Как вариант
Код:
_IEAction($select_amount_type, "focus")
If _IEFormElementGetValue($select_amount_type) = "stake" Then ControlSend(_IEPropertyGet($ie_gui, 'hwnd'), "", "Internet Explorer_Server1", "{up}")
да я сам уже так сделал, но работает только при раскрытом окне
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
sasha1304
работает только при раскрытом окне
Вообще-то, вы и не ставили условия работы в свёрнутом окне ;)

У меня на Win7 x86 после замены @SW_MAXIMIZE на @SW_MINIMIZE и в свёрнутом окне IE11 работает.
 
Автор
S

sasha1304

Новичок
Сообщения
41
Репутация
0
InnI сказал(а):
sasha1304
работает только при раскрытом окне
Вообще-то, вы и не ставили условия работы в свёрнутом окне ;)

У меня на Win7 x86 после замены @SW_MAXIMIZE на @SW_MINIMIZE и в свёрнутом окне IE11 работает.
точно... спасибо большое :laugh:
 
Верх