Что нового

Библиотека для работы с FireFox

RomanWAR

Новичок
Сообщения
6
Репутация
0
alex33
Я извиняюсь, не могу найти в FF - Инструменты

 

alex33

Скриптер
Сообщения
1,457
Репутация
186
RomanWAR
Ну, слева сверху должно быть меню Файл Правка Вид ... Вот там будут Инструменты...
Если такого меню нет, нажмите тогда клавишу Alt. Если меню всё равно не открывается, посмотрите это: Что случилось с меню Файл, Правка и Вид?.
Вот так выглядит меню MozRepl (после установки этого дополнения).

 

RomanWAR

Новичок
Сообщения
6
Репутация
0
alex33
Теперь понял, спасибо. Работает
А можно как-то сделать, чтобы оно в фоне работало? Дело в том, что сейчас указанный URL открывается в той закладке, которая выбрана на текущий момент. А надо так, чтобы я мог заниматься своими делами, а оно там открывалась по заданному промежутку времени
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
RomanWAR сказал(а):
А можно как-то сделать, чтобы оно в фоне работало? Дело в том, что сейчас указанный URL открывается в той закладке, которая выбрана на текущий момент. А надо так, чтобы я мог заниматься своими делами, а оно там открывалась по заданному промежутку времени
Я пробовал, но у меня не получилось заставить это (Firefox UDF) работать в фоне...

Но я вижу другой вариант, поставить iMacros, сделать макрос что-то типа такого:
Код:
VERSION BUILD=8871104 RECORDER=FX
TAB T=1
URL GOTO=http://example.org/imacrostest1/url/page1fortst.html
WAIT SECONDS=60
и запустить его в цикле 999999 раз в отдельном окне...

* файлы макросов хранятся в папке "%USERPROFILE%\Documents\iMacros\Macros" в текстовых файлах с расширением .iim.

Запуск макроса из скрипта будет примерно таким:
Код:
Local $url = "imacros://run/?m=#Current.iim" ; здесь где #Current.iim имя файла макроса, который надо запустить

ShellExecute(@ProgramFilesDir & "\Mozilla Firefox\firefox.exe", $url)

; #include <FF.au3>
; _FFStart()
; Sleep(1000)
; If _FFIsConnected() Then _FFCmd(".location.href='" & $url & "'")
 

passwd

Новичок
Сообщения
30
Репутация
0
Подскажите пожалуйста, а реально ли использовать эту библиотеку для управления сразу несколькими запущенными Firefox? К примеру, я запустил три Firefox с разными профилями. Далее с помощью Autoit мне нужно проверять каждое окошко и смотреть не появился ли там какой нибудь определенный текст. Как только текст появился, сразу отправлять действие в это же окно. И так с каждым. Есть ли такая возможность в Autoit и FF.au3?

-------------
Извините, уже сам понял как это делать, нужно просто на каждом Firefox запустить Mozrepl с разным портом и подключаться к каждой копии Firefox через эти порты.

Подскажите пожалуйста возможно ли быть одновременно подключенным сразу к нескольким firefox и делать различные действия к ним? Или нужно всегда отключаться от одной, и подключаться к другой если хочу выполнить действие?
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Dessan сказал(а):
не работает ссылка
Да уж... Что-то там с оф. сайтом случилось...
Вот здесь скачайте: FF.au3. У меня осталась.

P.S. Документация по функциям, если что, здесь: http://russian.documentation.ff-au3.thorsten-willert.de/ .
 
Сообщения
137
Репутация
-2
Спасибо, alex33
1. Сам скрипт:
Код:
#include <FF.au3>

Local $url = "http://example.com/test2ff/mypage123.html"
_FFConnect(Default, Default, 10000)
While 1
	If _FFIsConnected() Then
		_FFCmd(".location.href='" & $url & "'")
	Else
		MsgBox(16, "Firefox Error", "Connection error", 30)
		ExitLoop
	EndIf
	Sleep(10000) ; 10 seconds
WEnd
_FFDisConnect()
Выдаёт error: IsConnected(): undefined function.
error: _FFCmd(): undefined function.

И ещё ряд подобных ошибок.

Я правильно всё понял: код копируем в скрипт и запускаем?А перед этим сохраняем FF.au3 в директорию Include программы AutoIt?


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

И ещё вопрос: >>>> Control <<<< в Window Info полностью пустое, как дескрипторы находить окна?
Мне нужно скрипты переделать после Chrome.
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
1. Ну по идее да, так.
2. Там есть такая функция, _FFWindowGetHandle() вот её посмотрите http://russian.documentation.ff-au3.thorsten-willert.de/ff_functions/_FFWindowGetHandle.php
 
Сообщения
137
Репутация
-2
Парни...я совсем запутался. Не понимаю или я совсем дурной, или день такой тяжёлый...
Возьмём всё сначала:
1. Качаем Firefox. Можно на офф сайте https://www.mozilla.org/ru/firefox/new/, а можно поиграться с версиями отсюда http://mozilla-russia.org/products/firefox/history.html
2. Затем
alex33 сказал(а):
Скачиваем библиотеку
и кладём её либо в папку со скриптом, либо в папку C:\Program Files\AutoIt3\Include\
но здесь ссылка не работает, поэтому скачиваем:
alex33 сказал(а):
Да уж... Что-то там с оф. сайтом случилось...
Вот здесь скачайте: FF.au3. У меня осталась.
Скачивается всего 1 файлик FF.au3 (не мало ли для слова "библиотека"?)
А где качать вот эту библиотеку ниже?Что это за список функций такой и где его взять?Вот здесь:
Medic84 сказал(а):
AutoIt: 3.2.1.2 - 3.3.0.0
Версия: 0.6.0.0b
Категория:
Название: UDF Firefox
Описание: Управление Firefox
;_FFAction
;_FFClick
;_FFCmd
;_FFConnect
;_FFDialogWait
;_FFDisConnect
;_FFDispatchEvent
;_FFFormCheckBox
;_FFFormGetElementsLength
;_FFFormOptionselect
;_FFFormRadioButton
;_FFFormReset
;_FFFormSubmit
;_FFFrameEnter
;_FFFrameLeave
;_FFGetLength
;_FFGetObjectInfo
;_FFGetPosition
;_FFGetValue
;_FFImageClick
;_FFImageGetBySize
;_FFImageMapClick
;_FFIsConnected
;_FFLinkClick
;_FFLinksGetAll
;_FFLoadWait
;_FFLoadWaitTimeOut
;_FFObj
;_FFObjDelete
;_FFObjGet
;_FFObjNew
;_FFOpenURL
;_FFPrefGet
;_FFPrefReset
;_FFPrefSet
;_FFQuit
;_FFReadHTML
;_FFReadText
;_FFSearch
;_FFSetValue
;_FFStart
;_FFTabAdd
;_FFTabClose
;_FFTabDuplicate
;_FFTabExists
;_FFTabGetSelected
;_FFTabSetSelected
;_FFTableWriteToArray
;_FFWindowClose
;_FFWindowGetHandle
;_FFWindowOpen
;_FFWindowSelect
;_FFWriteHTML
;_FFXPath

Изменения в версии 0.6.0.0b:
- Добавлено: _FFWindowOpen: новый параметр: $bLoadWait
- Добавлено: _FFAu3Option / $_FF_SEARCH_MODE = 0 ; 0 = Подстрока / 1 = Сравнить
_FFImageClick
- Удалено: _FFSetValueById, _FFSetValueByName ==> _FFSetValue
- Удалено: _FFGetValueById, _FFGetValueByName ==> _FFGetValue
- Удалено: _FFFormGetLength ==> _FFGetLength
- Удалено: _FFTabGetLength ==> _FFGetLength
- Удалено: _FFTableGetCell ==> _FFXpath
- Удалено: _FFDisPatchKeyEvent ==> _FFDisPatchEvent
- Удалено: _FFTabCloseAll ==> _FFTabClose
- Удалено: _FFFormGetElementsLength: now only returns the DOM-standard length
- Удалено: _FFRecord* functions and all additions for them in all functions
- Изменено: _FFAction("copy"): работает только в текущем окне
- Поправлено: _FFFormGetElementsLength: Сообщение с ошибкой
- Поправлено: _FFDispatchEvent: Ярлыки для элементов

Требования:
Последняя версия FireFox (Flock) и Аддон MozRepl
- _MozRepl_Detect (Проверяет профиль Firefox на наличие аддона MozRepl и если он отсутствует - устанавливает его)
Не забудьте запустить MozRepl!!!
Документация:
Русский язык
Источник: Stilgar


Дополнительно:
Installation MozRepl:Wiki
Extensions MozRepl: xpi, addons.mozilla.org - Зачем это?
FF.au3 (V0.6.0.1b-10)

3. Устанавливаем это дополнение,
затем Инструменты > MozRepl > Start запускаем,
можете поставить галочку на пункте "Activate on startup" чтобы дополнение само запускалось при открытии Firefox...

(здесь ссылка работает, всё ставится, правда, я не понимаю что конкретно должен делать этот аддон и с какой целью он должен быть постоянно включён?)

4. Запускаем вот этот скрипт:
Код:
#include <FF.au3>

Local $url = "http://example.com/test2ff/mypage123.html"
_FFConnect(Default, Default, 10000)
While 1
	If _FFIsConnected() Then
		_FFCmd(".location.href='" & $url & "'")
	Else
		MsgBox(16, "Firefox Error", "Connection error", 30)
		ExitLoop
	EndIf
	Sleep(10000) ; 10 seconds
WEnd
_FFDisConnect()
На выходе в SciTe получаем кучу ошибок:
error:IsConnected(): undefined function.
error: _FFCmd(): undefined function.

И ещё ряд подобных ошибок.

Какая же функция этого скрипта и что с ним не так?
5. Документация по функциям здесь: http://russian.documentation.ff-au3.thorsten-willert.de/
Кроме того, после установки Firefox последней версии, у меня >>>> Control <<<< в Window Info полностью пустое.
По совету скачал версию 3,6 и ещё с десяток выборочно для проверки. Действительно, версии младше 3,6 отображают дескрипторы окон, однако приложения Java просто отказываются запускаться. Даже игры не запускаются, проверял на Forge of Empire (кнопка входа в игру не отрабатывает), обновление флеша и джавы никак не помогло.

Вообщем, я всё перепробовал что знал.

Для Firefox нужно отдельно читать Help и изучать новые функции с нуля?
Можно ли писать скрипты без указания дескриптора окна?
Скрипты, которые уже написаны под Chrome, нужно будет полностью переписывать под Firefox?
Функцию PixelGetArray можно ли приспособить для Firefox?
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Dessan
Может файл библиотеки в кодировке UTF8 + BOM? Если так, то нужно перекодировать без BOM.
 
Сообщения
137
Репутация
-2
То есть этот один файлик и вмещает всю библиотеку?И чтоб подключить библиотеку нужно просто использовать #include FF.au3 ?
Но это уже последний этап, у меня проблемы ещё на стадии настройки самой firefox, описал выше
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Ну а что по твоему библиотека? Здание 100 на 100 метров 12 этажей? Библиотека это набор функций. Если они влазят в один файл, то прекрасно. Или ты ожидал что то сложного и грандиозного?
 
Сообщения
137
Репутация
-2
Я ожидал перечень файлов как в папке Include Autoit, если это один файл - это прекрасно. Тема про библиотеку закрыта, меня интересует совсем другое - не работает ничего с firefox и как именно не работает а также последовательность моих действий я описал выше
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Dessan [?]
а также последовательность моих действий я описал выше
Ок давай посмотрим на твою последовательность:

[?]
правильно

А где качать вот эту библиотеку ниже?Что это за список функций такой и где его взять?Вот здесь:
тут у нас процитирована тема про библиотеку, с ссылками где скачать и где искать документацию.
это официальная страничка расширения с которым будет работать библиотека.

(здесь ссылка работает, всё ставится, правда, я не понимаю что конкретно должен делать этот аддон и с какой целью он должен быть постоянно включён?)
с этим аддоном связываются скрипты, отсылают ему команды, а он - пересылает эти команды в firefox.

На выходе в SciTe получаем кучу ошибок:error:IsConnected(): undefined function.error: _FFCmd(): undefined function.
Если куча ошибок, и ты FF.au3 скопировал в папку со скриптом или в includes, то смотри ответ 70.


Кроме того, после установки Firefox последней версии, у меня >>>> Control <<<< в Window Info полностью пустое.
Так бывает, обновили Firefox, убрали элемент управления.

Даже игры не запускаются, проверял на Forge of Empire (кнопка входа в игру не отрабатывает), обновление флеша и джавы никак не помогло.
Ну, напиши жалобу в мозилу, что у тебя игры не запускаются на старой версии.


Для Firefox нужно отдельно читать Help и изучать новые функции с нуля?
Да, меняешь браузер - переписывай скрипт, так всегда будет.

Можно ли писать скрипты без указания дескриптора окна?
Про какие скрипты ты спрашиваешь? Если выключать компьютер по расписанию, то дескриптор окна не нужен.

крипты, которые уже написаны под Chrome, нужно будет полностью переписывать под Firefox?
Естественно, а как ты думал.


Функцию PixelGetArray можно ли приспособить для Firefox?
А это вообще причем?

P.s Если ты собираешься автоматизировать игру, и она на FLASH (или JAVA боже упаси) то зачем тебе библиотека firefox? Запустить браузер с игрой можно и через shellexecute.
 
Сообщения
137
Репутация
-2

Так бывает, обновили Firefox, убрали элемент управления.
Ну, напиши жалобу в мозилу, что у тебя игры не запускаются на старой версии.

Про какие скрипты ты спрашиваешь? Если выключать компьютер по расписанию, то дескриптор окна не нужен.
Петросян прямо, не лень было ерунду такую писать? И сидел же выборочно отмечал ещё, совсем скучно наверно.

Функцию PixelGetArray можно ли приспособить для Firefox?
-А это вообще причем?
- А при том, что мне эта функция нужна и я хочу знать будет ли она работать в Firefox.

P.s Если ты собираешься автоматизировать игру, и она на FLASH (или JAVA боже упаси) то зачем тебе библиотека firefox?
Этим я и занимаюсь: пытаюсь понять для чего мне библиотека Firefox, как она работает и вообще как её подключать.
Запустить браузер с игрой можно и через shellexecute.
- и в чём разница?Ну, пусть загрузится игра, а кнопки всё равно не отрабатывают. И мне вообще не для игр.

Меня интересует, что специалисты настраивают,чтоб скрипты работали в Firefox. Рассчитывал на ответ типа: "скачай аддон, установи, забей на свой пустой >>>> Control <<<< в Window Info и ставь просто "" вместо дескриптора. Во все обычные функции добавь FF вначале и пользуйся."Ведь, например, в Хроме - открыл браузер, запустил Scite,запустил Window Info, посмотрел дескриптор и работай себе. А тут мало того, что не работает, так ещё и сарказм в ответ.
 

BL_PENETRATOR

Новичок
Сообщения
11
Репутация
0
ссылки на скачивание не работают ... версия библиотеки старовата ...
выкладываю рабочую ссыль на самые последние версии версии FF.au3 и FFEx.au3
там есть так-же changelog и много примеров;
обновление UDF от 16.05.2016
...
(удалите из ссылки пробелы, т.к. мне нельзя оставлять внешние ссылки, бо я, видимо, новичёк ... )

P.S. Надеюсь народу пригодится :smile:

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

MrRutts

Новичок
Сообщения
1
Репутация
0
Добрый день!

Была не была, попробую обратиться, ибо уперся в тупик: необходимо через браузер FireFox зайди на Binomo и пройти авторизацию. Методом проб и ошибок был произведен такой код:

Код:
#Include <FF.au3>
; trying to connect to a running FireFox with MozRepl on
If _FFConnect(Default, Default, 30000) Then
    ; open a page
    _FFOpenURL("https://*сайт.ком*/ru")

	Sleep(60000)

$hallo = _FFXPath(".//*[@id='page_home_index']/header/div[2]/div/div/div[2]/div/button")

_FFClick($hallo)

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


Однако, окошко ввода данных не активируется (нужно нажать кнопку "Вход"). Прошу подсказать, что я делаю не так?
По профессии я не программист, владею немного VBA и VBS.

FireFox версия 54
FF.au3 версия 0.6.0.2b
MozRepl 1.1.2.1

Через IE сайт Binomo не работает, потому FF.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
MrRutts

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


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

betauto

Новичок
Сообщения
15
Репутация
0
Есть русская справка по библиотеке ? По ссылкам в теме, справки с кривыми иероглифами вместо русского языка.
 
Верх