Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Как нажать на значение из раскрывающегося списка используя функции для IE.

Ответить
Настройки темы
[решено] Как нажать на значение из раскрывающегося списка используя функции для IE.

Пользователь


Сообщения: 143
Благодарности: 24

Профиль | Отправить PM | Цитировать


Что у меня есть:
Код: Выделить весь код
#include <IE.au3>
$oIE = _IECreate("www.vkontakte.ru")
WinSetState("В Контакте | Добро пожаловать - Windows Internet Explorer", "", @SW_MAXIMIZE)
_IELoadWait($oIE)
$oDivs = _IETagNameGetCollection ($oIE, "DIV")
For $oDiv In $oDivs
      if StringInStr($oDiv.id,"container0") then
         $oInputs = _IETagNameGetCollection ($oIE, "INPUT")
         For $oInput In $oInputs
	if StringInStr($oInput.value,"- Не выбран -") then
	   ;$oInput.value = "мужской"
	   _IEAction($oInput,"focus")
	   _IEAction($oInput,"click")
	   ;Sleep(1000)
	   $oLIs = _IETagNameGetCollection ($oIE, "LI")
	   $i = 0
	   ConsoleWrite("Кол-во найденных <LI> = "&@EXTENDED&@CRLF)
	   For $oLI In $oLIs
	         $i += 1
		ConsoleWrite($i&". $oInputt.value = "&$oLI.value &@CRLF&$i&". $oInputt.innertext = "&$oLI.innertext&@CRLF)
;___________________________________________________________________________________________________________
;___________________________не понятки..._____________________________________________________________________
		if StringInStr($oLI.innertext,"мужской") then
		   ConsoleWrite("!!!!!!!!!!!!!!!!!!!! вот он под номером: "&$i&@CRLF)
		   ;$oInput.value = "мужской"
		   ;_IEAction($oLI,"focus")
		   ;_IEAction($oLI,"click")
                               $iScreenX = _IEPropertyGet($oLI, "screenx")
		   $iScreenY = _IEPropertyGet($oLI, "screeny")
		   MouseClick("left",$iScreenX+20, $iScreenY+15)
		   ;ControlClick("[CLASS:IEFrame]", "", "Internet Explorer_Server1", "left", 1, $iScreenX+20, $iScreenY)
		EndIf
;______________________________________________________________________________________________________________
		;ExitLoop
	   Next
             ExitLoop
             EndIf
       Next
       ExitLoop
EndIf
Next


_IELinkClickByText($oIE,"Зарегистрироваться")
Вся проблема вот начинается с этой строчки: if StringInStr($oLI.innertext,"мужской") then
Все находится, кликается мышкой, а от _IEAction нет ни какого результата.
Где тут камень зарыт ?


Отправлено: 22:38, 29-05-2010

 

Аватара для Sp01LeR

Пользователь


Сообщения: 60
Благодарности: 13

Профиль | Отправить PM | Цитировать


Цитата:
Где тут камень зарыт ?
Известно где - в самом ОСЛЕ...

Можно так:
Код: Выделить весь код
#include <IE.au3>

$oIE = _IECreate("vkontakte.ru/reg0")
_IELoadWait ($oIE)
Sleep(2577)
$oInput = _IEGetObjById ($oIE, "sex")
_IEFormElementSetValue ($oInput, "мужской")
З.Ы.: вообще-то там аякса многовато, так что не факт, что косяк именно в ОСЛЕ..

Последний раз редактировалось Sp01LeR, 31-05-2010 в 07:52.


Отправлено: 07:26, 31-05-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 143
Благодарности: 24

Профиль | Отправить PM | Цитировать


Sp01LeR, неа не аботает.
Цитата Sp01LeR:
З.Ы.: вообще-то там аякса многовато, так что не факт, что косяк именно в ОСЛЕ.. »
Аякс - а каким образом он тут портит всю жизнь ?

Отправлено: 12:24, 31-05-2010 | #3


Пользователь


Сообщения: 143
Благодарности: 24

Профиль | Отправить PM | Цитировать


Может кому понадобится, решено тут: solve

Отправлено: 18:38, 13-06-2010 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Как нажать на значение из раскрывающегося списка используя функции для IE.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] FPDF класс php для генерации pdf документов, как вывести значение в самом низу стр? zvezda_t Вебмастеру 4 22-04-2010 10:56
Как нажать на ява ссылку? olehis AutoIt 1 14-10-2009 20:10
Кнопка на ToolbarWindow32 как нажать? ToTim AutoIt 1 13-09-2009 20:35
Как в функции занести в сессию значение. LEXX2002 Вебмастеру 1 03-04-2005 13:09




 
Переход