Полезная информация

Mozilla Россия — свежие версии программ Mozilla, а также масса полезной информации по каждому продукту.

Firefox » Firefox не запускается под учеткой system » 14-02-2018 14:25:53

mokujin пишет

ну а я не знаю, ни про женкинсы ни ноды.жс  да и ладна.
Не то чтоб это сикрет, везде оно в интронэтах валяеццо, но...  пичаль твоя в ntfs rights что случается с 90% искателей запуска, чего бы то ни было под system .

Во-первых, мы, конечно же, не пишем никаких вирусов. Пишем программу для внутреннего потребления.
Возможно, надо было взять готовый продукт и не мудрить. Но кто ж знал, что на таком ровном месте споткнемся?

Во-вторых, мы не из-под пользователя запускаем что-то от имени system, а наоборот, из-под system  запускаем что-то, что должно иметь профиль пользователя. Права, я так понимаю, у system'а есть все?

Возникла мысль, что среды окружения как-то переписываются, т.к. из-под system firefox активно пытается достать профиль пользователя, который лежит в папке C:\Users\UserName\AppData\ (искали программой процесс монитор). Вместе с тем переменные APPDATA, LOCALAPPDATA и др указывают верно на системный профиль в папке C:\Windows\System32\config\syste

Firefox » Firefox не запускается под учеткой system » 08-02-2018 14:31:02

mokujin пишет

сначала, она ищет как процессы закрывать, потом ей систем привилегии понадобились.... и скрипт какой-та питоновский в FF пихает - не иначе говнючка какого-то пишут. Чё пишем, а? зачем тебе бравзер из-под system ?

Надо забрать результаты выполнения большого Js кода, который неохота переписывать на другой язык.
Из под системс его запускает дженкинс.
PS я знаю про nodejs

Firefox » Firefox не запускается под учеткой system » 08-02-2018 13:35:50

Вот код питона.
[spoiler][code]HOST = 'localhost'
PORT=50011
urlPattern='http://localhost:%i/%s'

htmlPageHead="HTTP/1.1 %s\r\nServer: Our\r\nCache-Control: no-cache\r\nContent-Language: ru\r\nContent-Type: text/html; charset=utf-8\r\nContent-Length: %i\r\n\r\n"
htmlPageText="<!DOCTYPE HTML><html><head><title>%s</title></head><body><h2>%s</h2></body></html>"

import socket

sock=socket.socket(socket.AF_INET, socket.SOCK_STREAM)       
sock.bind((HOST, PORT))   
sock.listen(40)
sock.settimeout(10)

def receiveData(conn):   
    data=''   
    conn.settimeout(10)
    try:
        while True:       
            r_data = conn.recv(1024).decode()
            data = data + r_data
            if len(r_data) < 1024:
                break           
    except Exception:
        return data
    return data

def connectClient(conn,addr):   
    data=receiveData(conn)       
    if data=='':
        print('EMPTY DATA ')       
    else:
        typeIndex=data.find(' ')
        requestT

Firefox » Firefox не запускается под учеткой system » 08-02-2018 11:30:32

Здравствуйте.
Есть задача запустить firefox из скрипта питон, отработать скрипт, получить результаты по сокету. Скрипт должен запускаться под учетной записью System, где нет рабочего стола, ну или нет такого рабочего стола, который бы устроил firefox.
Firefox отказывается даже загружать первый урл на таких условиях.
Что можно изменить в настройках (в config:about очень много параметров), чтобы ФФ заработал?
ОС Windows 7
От имени system запускаю с помощью планировщика задач (команда AT). Все процессы запускаются (питон и браузер). Вывод питоновского скрипта производится в файл, по его содержимому видно, что скрипт питона отработал, а вот с клиента не пришло ни одного запроса, даже самого первого гет, который был в строке запуска браузера.

От имени обычного пользователя все отлично работает

Спасибо

Firefox » Firefox ломается при использовании taskkill » 18-01-2018 13:05:56

Дамы и господа, я дико извиняюсь, наклеветала.
Питон прекрасно выполняет функцию закрытия окна.
Протупили с параметрами.

Выделить код

Код:

windll.user32.SendMessageW(3278334,16,0,0)
windll.user32.SendMessageW(3278334,'WM_CLOSE',0,0) #не работает

Надо было число отправлять, а не строку.

Firefox » Firefox ломается при использовании taskkill » 17-01-2018 14:46:40

Журавлёва пишет

catapulta, при любом названии вкладки, при любом, в строке присутствует буквы Mozilla Firerfox.
Перебирать окна  GetWindowText на предмет наличия в строке названия букв Mozilla Firerfox и получать хендл окна.
Делать окно это активным ShowWindow и закрывать как уже сказано.

а зачем делать активным? он и так понимает по хендлу.
"Mozilla Firerfox"присутствует также и в том окне, в котором куча нужных вкладок. Я могу закрыть это окно и не закрыть то, которое нужно закрыть. Поэтому нужно знать полное название активной вкладки и я его знаю, поскольку сама же ее и запустила. Если только пользователь не переключит. Ну если переключит то пусть сам закрывает раз такой умный

Firefox » Firefox ломается при использовании taskkill » 17-01-2018 14:02:51

Перебрать окна средствами винапи - это, наверное, можно.
А как сделать вкладку активной? в винспай я вижу только одно окно с активной вкладкой, как добраться до другой вкладки и сделать активной ее? Это нужно браузерское апи. А такого нет наверное
Мне повторюсь нужно только программное решение, не ручное.
Если речь идет о моей странице, то я знаю ее имя и я ее закрою, а если о вкладках уже открытых на начало программы, то в принципе программа запускает новое окно и мне это на руку, что предыдущее окно с сотней вкладок не закрылась. Я закрываю активную вкладку и с ней закрывается окно. Что там в процессах висит - ну и пусть висит. Будет проблема будем решать.

17-01-2018 14:21:29
А не я не так поняла. Я нашла свое окно с вкладкой и без проблем его закрыла без того, чтобы сделать активным. У меня проблема не потерять эту вкладку, поскольку только по ней я могу найти окно, а она теоретически может смениться, окно назовется по-другому и я его не найду. Ну вообще да можно просто перебрать вс

Firefox » Firefox ломается при использовании taskkill » 17-01-2018 08:36:23

Выделить код

Код:

#include "Windows.h"
int main(int argc, char ** argv)
{
    if (argc == 3)
        SendMessage(FindWindowA(argv[1], argv[2]), WM_CLOSE, 0, 0);
    return 0;
}

Ну да, в итоге эта программулька заработала из питона, firefox перестал ломаться.

Выделить код

Код:

subprocess.Popen('closeBrowser.exe "MozillaWindowClass" "LaunchPage - Mozilla Firefox"')

Firefox » Firefox ломается при использовании taskkill » 17-01-2018 07:29:21

Спасибо за ответы.
Действительно, сейчас пишем программу на с++.

Выделить код

Код:

#include "Windows.h"
int main(int argc, char ** argv)
{
    HWND h = FindWindowW(L"MozillaWindowClass",L"Mozilla Firefox");
    SendMessage(h, WM_CLOSE, 0, 0);
    return 0;
}

Чтобы посмотреть какие окна открыты использую winspy. Для каждого окна есть имя и класс, для фф класс MozillaWindowClass, а имя - это имя активной вкладки и название браузера через дефис: "NamePage - Mozilla Firefox", либо "Mozilla Firefox", если вкладка пустая. Все замечательно, если я знаю имя вкладки, но как закрыть браузер перед запуском программы? Если оставить вторым параметром NULL, то работает только если вкладка одна и пустая
Склоняемся к мнению, что закрывать первый раз тасккилом либо выдвигать требование закрыть браузер перед использованием.
Но если есть какие тонкости в именовании окон, будем благодарны за совет или за ссылки.
Также остается открытым вопрос: почему из питона винапи не вызывается? Хендл окна находит верно,

Firefox » Firefox ломается при использовании taskkill » 16-01-2018 14:31:24

Перед запуском стоит 10 секунд, перед закрытием стоит 4 секунды. Перезапускаю вручную, тоже пару секунд добавляет. Этого мало? Нужно около минуты?
ФФ закрывается тасккилом с ключами /F /T /IM (или /PID вместо /IM, и так и так пробовали).
Вкладки в браузере из js-кода можно закрыть, только если они были открыты другим окном.

Firefox » Firefox ломается при использовании taskkill » 16-01-2018 12:10:49

Здравствуйте.
Есть задача из питоновского скрипта запустить firefox, получить из js-скрипта результат, закрыть и так предположительно бесконечное число раз по таймеру
Но браузер ломается ровно на 5 раз, иногда на 2. Говорит что firefox закрылся при запуске, предлагается запустить в безопасном режиме или очистить.
При запуске в безопасном режиме достаточно просто закрыть браузер, чтобы все наладилось, но это действие требует присутствия пользователя, а нам нужен автоматический процесс.
Версия Firefox 52.
Что пробовали:
1. отключить в настройках запуск старой сессии
2. выбрать питоновскую функцию по закрытию (kill, terminate): она без флага /f (без принудительного завершения) не нужна
3. обратится к винапи, хандл окна питон находит правильно, сообщения WM_CLOSE, WM_DESTOY, WM_QUIT, WM_NCDESTOY отправляет, но они не выполняются
4
C:\WINDOWS\system32\cmd.exe /c

taskkill

.exe /f /t /im firefox.exe &cls &start firefox
найденную здесь команду пробовали, чередуя ее с тасккилом (поскольк

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]