Что нового

[Автоматизация] Функция _FFClick(). Что использовать в качестве параметров?

epimetei

Новичок
Сообщения
11
Репутация
1
Всем доброго времени суток. Пожалуйста, помогите нубу разобраться! :-[
С автоматизацией десктопного приложения получается более-менее.
Ну вот с вебом никак не могу понять.
Есть функция в файле FF.eu3

Код:
_FFClick($sElement[, $sMode = "elements"[, $iIndex = 0]])


Параметры
$sElement Указатель элемента - ID, название, класс или тег
$sMode
Опциональный: Режим выбора
elements = (Стандартное значение) Симуляция нажатия
id = применяя в качестве $sElement его ID
name = применяя в качестве $sElement его название и индекс $iIndex
class = применяя в качестве $sElement его класс и индекс $iIndex
tag = применяя в качестве $sElement его тег и индекс $iIndex
$iIndex Индекс элемента при указании его названия, класса или тега от 0 до n
0 = (Стандартное значение), первый элемент, имеющий заданное название, класс или тег.

Есть следующая структура документа:
Код:
<div id="header">
<a id="logo" href="/">
</a>
<div class="header-box">
</div>
<ul class="tabs">
<li id="icon-1">
</li>
<li id="icon-2" class="selected">
<div>
</div>
</li>
<li id="icon-3">
<div>
<span class="bkg_tab">
<a title="Офисная техника" href="/catalog/ofisnaya_tehnika/">
<span class="container">
<span class="table">
<span class="table-cell">Офисная техника</span>
</span>
</span>
</a>
</span>
</div>
</li>
<li id="icon-4">
</li>
<li id="icon-5">
</li>
<li id="icon-6">
</li>
<li id="icon-7">
</li>
</ul>
</div>
Как видно есть 7 табов(icon). Нужно нажать на третий таб(icon-3)- я его развернул.
Что мне подставлять в качестве аргументов в функцию _FFClick ?
Заранее благодарен
 

axlwor

Скриптер
Сообщения
657
Репутация
147
Re: [Автоматизация] Помогите начать пользоватся AutoIt

Код:
_FFClick('icon-3', 'id')
 
Автор
E

epimetei

Новичок
Сообщения
11
Репутация
1
Re: [Автоматизация] Помогите начать пользоватся AutoIt

Ниче не происходит... я перепробовал кучу вариантов и этот в том числе...
mozrepl включен, FF.au3 файл подключен
помогите, люди!
 

axlwor

Скриптер
Сообщения
657
Репутация
147
Re: [Автоматизация] Помогите начать пользоватся AutoIt

где код?
 
Автор
E

epimetei

Новичок
Сообщения
11
Репутация
1
Re: [Автоматизация] Помогите начать пользоватся AutoIt

да какой там код...
просто не могу понять какие аргументы в качестве чего использовать. Допустим вот код(сайт от потолка)
Код:
#Include <FF.au3>

If _FFConnect() Then
	_FFStart("http://elmir.ua/")
	
	Sleep(5000)

	_FFClick("icon-3", "id")

Else
	MsgBox(64,"Error","Can't connect to FireFox")
EndIf
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
622
Re: [Автоматизация] Помогите начать пользоватся AutoIt

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


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

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

С уважением, Модератор раздела.
 

shakur

Осваивающий
Сообщения
76
Репутация
24
Re: [Автоматизация] Помогите начать пользоватся AutoIt

epimetei
попробуйте кликнуть по ссылки, а не по тэгу
Код:
#Include <FF.au3>
If _FFConnect() Then
    _FFStart("http://elmir.ua/")
    
    Sleep(1000)
	_FFLinkClick("/catalog/ofisnaya_tehnika/")
	_FFLoadWait()

Else
    MsgBox(64,"Error","Can't connect to FireFox")
EndIf


зы используйте лутше IE, с FF у вас возникнут очень мого трудностей!
 
Автор
E

epimetei

Новичок
Сообщения
11
Репутация
1
попробуйте кликнуть по ссылки, а не по тэгу
Код: AutoIt [Выделить]
#Include <FF.au3>
If _FFConnect() Then
_FFStart("http://elmir.ua/")

Sleep(1000)
_FFLinkClick("/catalog/ofisnaya_tehnika/")
_FFLoadWait()

Else
MsgBox(64,"Error","Can't connect to FireFox")
EndIf

зы используйте лутше IE, с FF у вас возникнут очень мого трудностей!

Спасибо! В принципе можно было и урл такой слать с помощью _FFOpenURL() функции. Хотелось все-таки _FFClick() применить.
Кстати, _FFClick() нормально работает с центральными элементами страницы(body).В Header-е и Footer-е че то не работает...
 

axlwor

Скриптер
Сообщения
657
Репутация
147
ну и применяй, только icon-3 не кликабельный элемент. кликабельный там линк <a>...< / a >. Но искать будешь по индексу, потому что с русским языком так и не разобрались. применяй лучше ie


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

Код:
#Include <FF.au3>
#Include <Array.au3>

If _FFConnect() Then
    _FFStart("http://elmir.ua/")
	_FFLoadWait()
	$aLinks = _FFLinksGetAll()
	_ArrayDisplay($aLinks)
Else
    MsgBox(64,"Error","Can't connect to FireFox")
EndIf
 

shakur

Осваивающий
Сообщения
76
Репутация
24
Хотелось все-таки _FFClick() применить
зачем?
.В Header-е и Footer-е че то не работает...
С функциями для FF так бывает, не все они работают как хотелось бы :smile:
поэтому я рекомендую начать работу с IE, возможностей для автоматизации больше, и проще в исполнении,а над фунцкиями FF будеш танцевать с бубном постоянно 8)

да еще, как упамянул axlwor
FF не работает с кирилицей! Из-за этого я от него и отказалса:smile:
 
Автор
E

epimetei

Новичок
Сообщения
11
Репутация
1
Всем огромное спасибо!
Еще маленький вопросик: перешел на IE, после нажатия на кнопку появляется JavaScript сообщение с текст-боксом и кнопками ОК и Cancel. Нужно послать значение в текст-бокс(после появления сообщения курсор уже в боксе) и нажать ОК(Enter). Пробывал
Код:
Send($count)
Send("{ENTER}")

но не работает. если вручную ввести значение и нажать ОК - цикл выполняется и следующее сообщение всплывает для ввода. Аналога функции Send() для IE че то не нашел, а может не там искал... Помогите пожалуйста!
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,320
epimetei,
У IE есть разные сообщения. Некоторые, например при выборе файла для загрузки-скачивания, блокируют дальнейшие действия и их простым способом не поймать, а есть такие, которые не блокируют дальнейшие действия. Проверьте MsgBox`ом, блокирует Ваше сообщение дальнейшую работу или нет.

PS
Раз Вы решили перейти на IE, то, может, Вам название темы поменять и попросить Kaster`а перенести ее в соответствующий раздел?
 
Автор
E

epimetei

Новичок
Сообщения
11
Репутация
1
действительно оффтоп пошел. Начальная проблема решена, всем спасибо :beer:
Дальнейшее обсуждение прошу продолжить Здесь
 
Верх