Что нового

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

arfey

Новичок
Сообщения
25
Репутация
2
yinfo сказал(а):
Друзья, а как эту библиотеку переточить под работу с palemoon.exe?...
Модифицировал mozrepl и FF.au3
И так, ниже прикреплены два файла mozrepl-1.1.2-fx.xpi.zip и FF.au3 для браузера Pale Moon
Файл mozrepl-1.1.2-fx.xpi.zip нужно распаковать и кинуть в окно браузера.


P.S> Редактировал на коленке, так сказать, потому не исключены ошибки.


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

APL сказал(а):
...Почему-то функция не может открывать страничку в новом окне. Если запустить Firefox, а в параметрах _FFStart задать опцию "открывать в текущем окне", то всё ОК. Не идеально, но не смертельно.
...
Поправил файл FF.au3. В строке 4330 пропущена косая линия, из-за этого параметр реестра не считывался.
Теперь должен открывать новый процесс браузера.
Переименуй файл FF_fix.au3 в FF.au3 для удобства.

Скачать* -> http://yadi.sk/d/r-jrxA-YQnhEf

*Не могу более приатачить файл ибо лимит :(
 

Вложения

  • FF.au3
    172.4 КБ · Просмотры: 46
  • mozrepl-1.1.2-fx.xpi.zip
    26 КБ · Просмотры: 30

bescom

Новичок
Сообщения
61
Репутация
0
Уважаемые гуру AutoIT!

Я честно убил целый световой день, чтобы понять, почему MozRepl спокойно работает в Portable-версиях FireFox с 4 и выше, но не хочет работать в Portable-версиях FireFox 3, хотя в установленных свободно функционирует. Результат - нулевой, MozRepl устанавливается и запускается, но подключиться не удается.

Может быть, кто-то подскажет, как справиться с проблемой? Форум перелопатил, ответа не нашел, а мне важно работать именно с третьей версией FF Portable.
 

APL

Новичок
Сообщения
2
Репутация
0
Здравствуйте!
Кто-нибудь сталкивался с проблемой нестабильного чтения текста страницы?
У меня постоянно запущен скрипт, наблюдающий за страницей в FireFox. Иногда он сутками работает нормально, но иногда вдруг на полчаса-час перестаёт видеть страницу (а иногда не может её прочитать всего несколько секунд, но это не так страшно).
Когда скрипт не видит страницу, $srcbody и $tmpbody оказывается пустым; в браузере при этом страница выглядит как обычно.
Перезагрузка скрипта и браузера не помогает.
Вопрос, естественно, «Что делать?» :smile:

Код:
for $i=1 to 50
    $srcbody=_FFReadHTML('body')
    $tmpbody=_Encoding_UTF8ToANSI($srcbody)
    if StringLen($tmpbody)>500 then return $tmpbody
    sleep(250)
    GUICtrlSetData($CTRL_Status , "Не прочиталось: " & $i)
Next
return 0
 

EgorKA_rAx

Новичок
Сообщения
6
Репутация
0
Добрый день!
столкнулся с такой проблемой (фото во вложении)

при запуске скомпилированнного скрипта вылетает такая ошибка, причем не каждый раз. Незнаю что с этим делать. Помогите подскажите что не так?
версия Firefox - 31.0, autoit - Version 3.4.1, FF - "0.6.0.1b-10"

часть скрипта:
Код:
#include <FF_AutoLogin.au3>
$Login		= "Login"
$Password	= "Password"
ProcessClose("Plugin-container.exe")
Sleep(100)
ProcessClose("firefox.exe")
Sleep(100)

Run("C:\Program Files\Mozilla Firefox" & "\firefox.exe", "")
Sleep(4000)
 ;_FFStart("http://мой_сайт.ru/")
If _FFConnect () Then
	  $sActionL = "fs"
	  _FFAction($sActionL,True)
	  _FF_AutoLogin($Login,$Password, "http://мой_сайт.ru")
   EndIf
 

Вложения

  • error.JPG
    error.JPG
    8.2 КБ · Просмотры: 33

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Пожоже ты, егорка, столкнулся с еще одной проблемой - не смог сделать вложение.
 

EgorKA_rAx

Новичок
Сообщения
6
Репутация
0
inververs сказал(а):
Пожоже ты, егорка, столкнулся с еще одной проблемой - не смог сделать вложение.
исправил, может из-за предпросмотра не вложило файл :stars:


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

методом "тыка" определил, что ошибку выдает этот кусок из FF.au3
Код:
$sScript &= @TAB & "_FFLoadWait()" & @CRLF & $sError & @TAB & "Sleep(500)" & @CRLF
			_FFLoadWait()
			Sleep(500)

я их просто закоментил и все стало работать как часики (время покажет, может и как китайские)
ну а вообще-то было не плохо что бы работало оно на 100% и я понимаю что закоменитить это не выход. Может подскажите как эту функцию(ошибку) заставить отображаться всего 1ну секунду( как в msbox).
 

winstan

Эксплотатор)
Сообщения
406
Репутация
79
вот такая вот беда(
Код:
__FFSend: try{document.getElementById('imw_editable').innerHTML = 'bhbbb';}catch(e){'_FFCmd_Err';};
__FFRecv: _FFCmd_Err
что ему не нравиться подскажите
 

dumoed

Знающий
Сообщения
34
Репутация
5
Все перелопатил, включая буржуйские сайты, кто как определяет ID элементов в FireFox?
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
dumoed сказал(а):
Все перелопатил, включая буржуйские сайты, кто как определяет ID элементов в FireFox?
правая кнопка мыши:
"Исследовать элемент" или "Инспектировать элемент с помощью Firebug" или
"Исходный код выделенного фрагмента"...
 

dumoed

Знающий
Сообщения
34
Репутация
5
+100, Спасибо!, кто бы мог подумать, я бы это средство в шапку темы включил, чтоб другие последователи FF и MozRepl долго не искали. :laugh:


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

В продолжение темы. Реально ли включить проверку правильности использования/написания функций из библиотеки FF в SciTE? по аналогии с библиотеками по умолчанию?


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

радовался не долго, в about:config нужно поменять параметр отключения картинок в firefox, там firebug не работает, какие варианты?
 

ini

Новичок
Сообщения
55
Репутация
0
Подскажите, на какой последней версии FF работает данная библиотека?
 

Бублик2010

Новичок
Сообщения
14
Репутация
0
Мне очень однажды приглянулась функция _FFXPath , вдохновленный статьей Сценарии объектной модели документа DOM http://www.script-coding.com/XMLDOMscripts.html

А MozRepl вообще вскружила голову , ЭТО-Ж СКОЛЬКО ВОЗМОЖНОСТЕЙ ! :laugh:

Дошло до дела. Есть нужная мне страничка с кодом.

Код:
<li id="login_webmail" class="b_pmenu_item b_pmenu_item-first">
              <a title="Почта" class="b_link b_pmenu_item_link" tabindex="-1">Почта</a>
</li>
<li id="login_hosting" class="b_pmenu_item b_pmenu_item-active b_pmenu_item-hover">
              <a title="Хостинг" class="b_link b_pmenu_item_link" tabindex="-1">Хостинг / VDS</a>
</li>

1) Читал русскую документацию :whistle:
2) Смотрел #include <FF.au3> :scratch:
3) "Съехал" на _FFCmd :-\
4) Окончательно перешел на Веб-технологии для разработчиков - Firefox - Интерфейсы веб API https://developer.mozilla.org/ru/docs/Web/API/Node.textContent :-X

Хотелось-бы увидеть ошибку, чего я не смог увидеть? :IL_AutoIt_1:

На IE все очевидно... :rofl:

Код:
$oIE= _IECreate ('https://cp.host.ru/login.php', 0, 1, 1) ;", 0, 1, 1
_IELoadWait ($oIE)
$collection= _IETagNameGetCollection($oIE, 'a') 
For $element In $collection
   ; ConsoleWrite($element .element&@lf) ; это ошибка, спасибо за замечание в следующем посте :) 
ConsoleWrite($element.id&@lf) 
ConsoleWrite($element.tagname&@lf) 
ConsoleWrite($element.innerText&@lf) 
ConsoleWrite($element.innerHTML&@lf) 
ConsoleWrite($element.classname&@lf) 
ConsoleWrite($element.title&@lf) 
ConsoleWrite($element.outerhtml&@lf) 
ConsoleWrite($element.name&@lf) 
ConsoleWrite($element.type&@lf) 
ConsoleWrite($element.href&@lf) 
ConsoleWrite($element.value&@lf) 
    If $element.innerhtml=='Почта' Then
 _IEAction($element, "click")
  ExitLoop
  EndIf
Next


на FF работает лучше не работает ,

Код:
#include <Encoding.au3>

_FFConnect()
If _FFIsConnected() Then
_FFTabAdd("https://cp.host.ru/login.php")
$collection = _FFXpath("//a", "textContent", 6) 
For $element In $collection
   ConsoleWrite(_Encoding_UTF8ToANSI($element)&@lf)
    If _Encoding_UTF8ToANSI($element)=='Почта' Then
; _FFClick($element)                                                                ; -)))
_FFLinkClick($element, "text")                                            ; не сработало
_FFLinkClick(_Encoding_UTF8ToANSI($element), "text")     ; не сработало
  ExitLoop
  EndIf
Next

_FFClick(_FFXPath(".//*[@id='login_webmail']/a", "", 9))      ; не сработало


Else
    MsgBox(64,"Error","Der Bot konnte keine Verbindung mit dem Internet aufbauen.")
EndIf




Возможно как-то анкоры "отрабатывать" без атрибута href ? И при этом в другой кодировке?

Есть "способ" код на FF сделать работающим?



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

dumoed сказал(а):
Все перелопатил, включая буржуйские сайты, кто как определяет ID элементов в FireFox?

Совсем не в тему, но может пригодиться. Увидел однажды Примеры xpath-запросов к html http://habrahabr.ru/post/114772/ на Хабре и дела с определением ID элементов в FireFox стали получше. 8)

a) ищем архивную версию Firefox firefox-portable-12-0-28432-en-setup.exe
б) firebug-1.9.2.xpi , с которым будет работать
в) и наконец-то firepath-0.9.7-fx1.xpi
г) запускаем firefox-portable под другим пользователем, чтобы настройки мозиллы остались нетронутыми

Вот как это выглядит в итоге , см. на фото в аттаче.
 

Вложения

  • offf.jpg
    offf.jpg
    126.5 КБ · Просмотры: 51

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Не скажу за FF, но в коде для IE вот это вот просто ставит в тупик
Код:
ConsoleWrite($vgh7n.element&@lf)

:wall_brake:
 

Бублик2010

Новичок
Сообщения
14
Репутация
0
>Есть "способ" код на FF сделать работающим?

Неудобно как-то. Поднял вопрос. Все работает замечательно с mozrepl. Хотел, чтобы на анкор "нажимало", не вышло :(
Нашел решение, "логиниться" со всеми FFXPath на https://webmail.host.ru . Пароли "проставляет", "логин" идет, все работает замечательно с mozrep

Свой вопрос вроде "чего на https://сз.host.ru НЕ РАБОТАЕТ"снимаю :-[

Очень удобная вещь Библиотека для работы с FireFox - на планшете очищаю браузер FireFox со всеми куками и паролями, а потом "захожу" , предварительно на Android версии FireFox включив mozrepl , и "проставляю" пароли, восстанавливаю закладки.
 

rivega

Новичок
Сообщения
45
Репутация
1
Хорошего времени суток.
Подскажите пожалуйста что делаю не так:
Windows 7
FF 35.0
ставлю mozrepl 1.1.2 (c сайта), он ставится и появляется в "дополнениях",
но опций "включить при старте" и "установить порт" не вижу. Есть только автоматическое обновление(по умолчанию, вкл и выкл) и кнопки отключить и удалить.
Пробую подключиться:
Код:
#Include <FF.au3>

; trying to connect to a running FireFox with MozRepl on
If _FFConnect(Default, Default, 3000) Then
	; open a page
	_FFOpenURL("http://ff-au3-example.thorsten-willert.de/")
	Sleep(3000)
	; disconnect from FireFox
	If _FFDisConnect() Then MsgBox(64, "", "Disconnected from FireFox!")
Else
	MsgBox(64, "", "Can't connect to FireFox!")
EndIf
появляется сообщение :"Can't connect to FireFox!"

вот что возвращает _FFConnect
_FFConnect: OS: WIN_7 WIN32_NT 7601 Service Pack 1
_FFConnect: AutoIt: 3.3.12.0
_FFConnect: FF.au3: 0.6.0.1b-10
_FFConnect: IP: 127.0.0.1
_FFConnect: Port: 4242
_FFConnect: Delay: 2ms
_FFConnect ==> Timeout: TCPConnect Error: 10061
_FFConnect ==> General Error: Timeout: Can not connect to FireFox/MozRepl on: 127.0.0.1:4242]

Что я не доустановил, не довключил(как?)


Заранее благодарен за ответ.


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

2 дня мозго****я и все получилось.....
в ff нажать alt, инструменты........а там уже и настройки mozrepl есть

Хух)))) :laugh:
 

fotografh

Новичок
Сообщения
7
Репутация
0
Код:
_IEPropertyGet($oIE, "busy") = True/False

аналог
Код:
_FFCmd("FFau3.tmp.busyFlags)


Так вроде?. Если я хочу сделать слип до тех пор пока страница не начнет обновляться, то просто зацикливаю. Или есть более правильный/простой способ?

Код:
do
sleep(1)
until _FFCmd("FFau3.tmp.busyFlags") = 5
do
sleep(1)
until _FFCmd("FFau3.tmp.busyFlags") = 0

Например, использовать полный код.

Код:
do
sleep(1)
until _FFCmd("FFau3.tmp=window.getBrowser().webProgress;FFau3.tmp.isLoadingDocument && FFau3.tmp.busyFlags ? false: true;") = False
do
sleep(1)
until _FFCmd("FFau3.tmp=window.getBrowser().webProgress;FFau3.tmp.isLoadingDocument && FFau3.tmp.busyFlags ? false: true;") = True
 

madmasles

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


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

boriss

Новичок
Сообщения
4
Репутация
0
Доброго времени суток!

Подскажите пожалуйста, как при помощи FF.au3 вытащить значение "4 537.26", и можно ли сохранить это значение в файл? Спасибо!

Код:
<a balance-animator="" class="anim rtl-rev2 ng-binding ng-isolate-scope" value="user.profile.balance" filters="userMoney" output="$root.balanceHtml" ng-bind-html="$root.balanceHtml"><i class="fa fa-dollar pr5 currency currency-usd"></i>4 537.26</a>
/code]
 

RomanWAR

Новичок
Сообщения
6
Репутация
0
Мне порекомендовали попробовать этот вариант. Но я новичок в этом софте, поможете с простенькой задачкой - Открыта вкладка - надо конкретно в этой вкладке постоянно открывать указанную страницу URL в заданный промежуток времени циклично
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
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()

Подготовка:
2. Скачиваем библиотеку
и кладём её либо в папку со скриптом, либо в папку C:\Program Files\AutoIt3\Include\
3. Устанавливаем это дополнение,
затем Инструменты > MozRepl > Start запускаем,
можете поставить галочку на пункте "Activate on startup" чтобы дополнение само запускалось при открытии Firefox...

Вот и всё готово, запускаем 1 скрипт.
 
Верх