169 похожих чатов

Вопрос в следующем: во всех руководствах надо руками запускать java

-jar selenium-server-standalone-3.141.59.jar
(ну или типа того), а как бы сделать такой запуск/завершение автоматическим?

27 ответов

89 просмотров

А в чем проблема добавить в планировщик?

Anton-Petrusevich Автор вопроса
Constantine
А в чем проблема добавить в планировщик?

а завершить как? по времени? суть такая: запустить селениум в параллельном процессе, запустить скрипт, дождаться завершения скрипта, завершить селениум. я ни разу не работал с процессами из пхп, почему-то нигде не нашёл похожих сценариев в интернете.

Anton Petrusevich
а завершить как? по времени? суть такая: запустить...

Можно по времени. Пишете батник за убийство процесса (гуглите taskkill), добавляете его в планировщик на 6 утра

Novacaine
зачем его вообще убивать?

это должен разруливать фреймворк для автотестов, завершил тест/сьют - закрыл браузер

Anton Petrusevich
а завершить как? по времени? суть такая: запустить...

в смысле завершать как, спарсило, return :) дальше через сутки снова поднимет

Anton-Petrusevich Автор вопроса
Novacaine
это должен разруливать фреймворк для автотестов, з...

ну это не тесты, а скрипт автоматизации. я понимаю, что тесты это тоже такие "скрипты автоматизации", но, кстати, везде в описаниях стоит "запустите руками селениум..."

Anton-Petrusevich Автор вопроса
Anton Petrusevich
ну это не тесты, а скрипт автоматизации. я понимаю...

так и закрыть можно руками) https://www.browserstack.com/guide/close-browser-in-selenium

скрипт автоматизации на пхп что ли? что он делает? запускает селениум? а чем выполняется автоматизация. ну там в селениуме что-то ж происходит, оно ж не из воздуха берется?

Anton-Petrusevich Автор вопроса
Novacaine
скрипт автоматизации на пхп что ли? что он делает?...

выбирает из базы данные, идёт в сервис, считывает чего не хватает, дополняет данные в сервисе. в линуксе у меня не возникло бы вопросов, но тут не линукс...

Anton Petrusevich
выбирает из базы данные, идёт в сервис, считывает ...

не, селениум там зачем. как ему диктуется что делать?

Anton Petrusevich
через php-webdriver

почему php по завершении работы не может завершить селениум?

Anton-Petrusevich Автор вопроса

если же вопрос какого фига селениум, а не просто хтмл грабить/парсить и постить -- потому что на той стороне ASP.Net, с кучей жаваскрипта, который поля из форм ещё сильно корректирует, добавляет и пр

Anton-Petrusevich Автор вопроса
Novacaine
почему php по завершении работы не может завершить...

буду рад узнать как. если мысль про "грохнуть все процессы с именем джава" -- это будет перебор

Anton Petrusevich
если же вопрос какого фига селениум, а не просто х...

не, я понимаю что селениум там не просто постоять открывается) если нужен - значит нужен. если манипуляции с ним происходят через php, значит php понимает когда оканчивается процесс

Anton Petrusevich
буду рад узнать как. если мысль про "грохнуть все ...

а как он запускает селениум? прям руками?

Anton-Petrusevich Автор вопроса
Novacaine
а как он запускает селениум? прям руками?

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

Anton Petrusevich
ну кроме как через cmd+start /b

ну это в принципе норм вариант https://stackoverflow.com/a/15965956

Anton-Petrusevich Автор вопроса
Novacaine
ну это в принципе норм вариант https://stackoverfl...

так а убивать его потом как? старт запустит новый процесс и мне неизвестен его номер

Anton Petrusevich
так а убивать его потом как? старт запустит новый ...

popen открывает, pclose закрывает. $handle = popen(...); // делаем работу pclose($handle);

Anton-Petrusevich Автор вопроса
Novacaine
popen открывает, pclose закрывает. $handle = pope...

ты упускаешь, что процессы должны быть параллельны

Anton-Petrusevich Автор вопроса

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
4
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта