Что нового

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

SemEMP

Знающий
Сообщения
42
Репутация
7
betauto сказал(а):
Есть русская справка по библиотеке ? По ссылкам в теме, справки с кривыми иероглифами вместо русского языка.
смени просто кодировку в браузере
 

randal

Новичок
Сообщения
21
Репутация
4
Долго не мог понять почему даже скрипты из справки не хотят работать, оказалось, что последняя версия FireFox, с которой UDF корректно работает - это 54.0.1

Updated: С версией 52.9.0esr (версия на старом движке, которая продолжает поддерживаться) тоже работает
Для стабильной работы нужно отключить в Firefox поддержку многопроцессорного режима
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Потому что они переходят на новый движок, а для него дополнение еще не сделали
 

radioamator

Новичок
Сообщения
4
Репутация
0
На виртуальной машине Mozrepl раньше установился, теперь не устанавливается. Единственное что удалось сделать, это поставить версию расширения 1.0.2 (скачал с гитхаба, распаковал, запаковал в zip и переименовал в xpi) в связке с Firefox 3.6 и Windows XP в виртуальной машине.
Остался рабочий образ виртуальной машины с Win7 и работающим Mozrepl последней версии, придётся этот образ размножать если потребуется использовать последнюю версию расширения.
 
Сообщения
142
Репутация
-3
randal сказал(а):
P.S. С версией 52.9.0esr (это последняя старая, для которой выходят апдейты), почему-то всё работает нестабильно (перестаёт коннектиться без видимых причин)
Вот это плохо. Значит не видать мне скриптов под Лису.

У Mozilla с 2017 года вообще творится фиг пойми что. К рулю пришли эффективные менеджеры, которые решили, что неработающий официальный сайт на версиях до 48, новый страшный дизайн, перелопаченный бэкэнд, переход firefox на WE помогут вытащить его из жопы. Много громких аннонсов, движухи в Индии (похоже, что FF пишут теперь индусы (даже не азиаты)), а на выходе вся инфраструктура накрылась.

Я был у них Contributor'ом, надоело в какой-то момент. Даже самый банальный баг с готовым фиксом в пуле висит уже 2 года.
Осталось только Thunderbird закопать.
 

tar

Новичок
Сообщения
58
Репутация
0
Поделитесь файлом MozRepl. Официально установить, теперь, невозможно.
 

Cytrus

Новичок
Сообщения
110
Репутация
3
Вот, был в запасе.

Но на новые версии не устанавливается.
 

Вложения

  • mozrepl.zip
    30.3 КБ · Просмотры: 36

ZUMA

Новичок
Сообщения
1
Репутация
0
А есть ли какие-то способы (библиотеки, дополнения), чтобы работать с текущими версиями FireFox?
 

Коршун

Новичок
Сообщения
58
Репутация
1
Можно как-то победить кириллицу при получении текста страницы?
 

randal

Новичок
Сообщения
21
Репутация
4
ZUMA сказал(а):
А есть ли какие-то способы (библиотеки, дополнения), чтобы работать с текущими версиями FireFox?
В новых версиях вроде закрыли доступ к DOM извне, так что никак. Из современных браузеров только Хром поддаётся автоматизации т.к. его можно запустить в режиме разработчика и тогда будет доступ к DOM. Тут на форуме есть и библиотека для этих целей, но она намного более корявая чем для Firefox и уж тем более для IE


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

Коршун сказал(а):
Можно как-то победить кириллицу при получении текста страницы?
используйте функцию _Encoding_UTF8ToANSI() из библиотеки Encoding.au3 (нужно устанавливать дополнительно, в комплекте её нет)


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

ЭйчЭйч сказал(а):
Вот это плохо. Значит не видать мне скриптов под Лису.
Я уже разобрался в чём причина ошибки "connected to non-browser window", забыл сюда написать: нужно отключить в Файрфоксе многопроцессорный режим: перейти на страничку about:config и там изменить значение переменной browser.tabs.remote.autostart на false (переменных может быть несколько с разными номерами, менять нужно все)


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

radioamator сказал(а):
На виртуальной машине Mozrepl раньше установился, теперь не устанавливается.
Как установить Mozrepl вручную:
1. Скачиваете версию Firefox 52.9.0esr (предпочтительно) или 54.0.1. В более поздних он не работает
2. В настройках about:config ищем переменную xpinstall.signatures.required и устанавливаем её значение в false (это отключение требования подписи для расширений)
3. Скачиваем файл mozrepl-1.1.2-fx.xpi (выше давали ссылку на архив) и просто перетягиваем его мышкой в браузер, жмём "установить" в появившемся окошке в углу. Не забудьте включить его автозапуск в меню
 

Cytrus

Новичок
Сообщения
110
Репутация
3
Что-то мой FireFox 60.4 вообще себя странно ведёт.
Не могу даже получить его хэндл окна.
Соответственно, не могу получить титл окна.

Он создаёт какое-то пустоё окно, которое невозможно, ни закрыть ни убить.
И для всех функций, которые работают с окнами заменяет все хэндлы хэндлом этого пустого окна.

Код:
Opt("WinTitleMatchMode", 3)
Local $h = WinGetHandle("[CLASS:MozillaWindowClass]"), $t = WinGetTitle("[CLASS:MozillaWindowClass]")
MsgBox(262144, WinGetTitle($h), "h  " & $h & @CR & "t  " & $t & @CR)
 

Коршун

Новичок
Сообщения
58
Репутация
1
randal сказал(а):


Добавлено:
Сообщение автоматически объединено:
используйте функцию _Encoding_UTF8ToANSI() из библиотеки Encoding.au3 (нужно устанавливать дополнительно, в комплекте её нет)




Спасибо, помогло!
А как перейти по ссылке или кликнуть по объекту внутри фрейма?!
Код:
_FFFrameEnter(0)
_FFClick("href", "elements", 1)


Выдает ошибку: No match: $sElement: href
 

Radik

Новичок
Сообщения
71
Репутация
1
Я так понял, auti-it с новыми версиями ff не работает?
 
Последнее редактирование:

Praktik

Новичок
Сообщения
7
Репутация
1
Последняя версия с которой это теоретически может работать - 56.02. Если сайт хочет версию старше - это в большинстве решается подменой user agent.
 

dumoed

Знающий
Сообщения
34
Репутация
5
может кому пригодиться, выдергивание значения элемента с помощью xPath:
Код:
#include <WindowsConstants.au3>
;#include <Date.au3>
; non standard UDF's
#include "wd_helper.au3"
#include "wd_core.au3"
#include "wd_capabilities.au3"


Local $sDesiredCapabilities, $sSession

;Run ("C:\Program Files (x86)\AutoIt3\geckodriver.exe")
Sleep (1000)

    ; Execute browser driver
    SetupGecko()
    _WD_Startup()
    $sSession = _WD_CreateSession($sDesiredCapabilities)
    ConsoleWrite("+Running: " & "OurScript" & @CRLF)
                Call("OurScript")
_WD_DeleteSession($sSession)
    _WD_Shutdown()

Func OurScript() ;OUR SCRIPT

_WD_Navigate($sSession, "https://news.com/finance/")

Sleep (700);special sleep

;While 1 ;loop to catch our element
; чтобы захватить элемент необходимо, подсмотреть его XPath, для этого следует вызвать окно Chrome DevTools (аналогично в файрфокс), выделить нужный элемент, кликнув правой клавишей мыши, вызвать контекстное меню, выбрать команду Copy , а затем Copy full XPath.
$sElement = _WD_FindElement($sSession, $_WD_LOCATOR_ByXPath, "/html/body/div[3]/div[1]/section/div[1]/div[3]/div[3]/div/ul/div/div/li[1]/div[1]/span[2]")
;$sValue = _WD_ElementAction($sSession, $sElement, 'property', 'value')
$sValue = _WD_ElementAction($sSession, $sElement, "TEXT", "");тут получаем текстовое значение элемента

;Wend

EndFunc


Func SetupGecko()
    _WD_Option('Driver', 'geckodriver.exe')
    _WD_Option('DriverParams', '--log trace')
    _WD_Option('Port', 4444)

     $sDesiredCapabilities = '{"capabilities": {"alwaysMatch": {"browserName": "firefox", "acceptInsecureCerts":true}}}'
EndFunc   ;==>SetupGecko
 
Верх