Just noticed that the "LastVersion" file in the profile folder, as the name suggests, gets updated when the profile is opened with (another version of) BAS e.g. from 114.0.5735.91 to 117.0.5938.63. Therefore it's not suitable for our need to determine the original version of which a profile was created.
But at least can be said what was the latest BAS version that worked with it ;)
Automatically take back Manual Browser Control from user?
-
pretty sure this is not possible
-
Do you want it to be done in BAS? There's some video on YouTube if you google just that ("Browser Automation Studio manual browser control").
Or do you need it for your custom Selenium/Playwright/...? There are multiple variants to choose from, and it has nothing to do with any threading -
@GuiWang said in Automatically take back Manual Browser Control from user?:
I have a script that requires me to give manual browser control to a user so that they can solve an unsupported captcha. However, I want to automatically take back manual browser control after the user has solved the captcha so that they can't continue doing other actions that I don't want them to take.
You cannot interrupt the execution of an action, remotely from another thread it is only possible to terminate the entire thread
-
@Fox Я кстати писал в премиум поддержку, чтоб дали возможность вернуть управление скрипту, по типу как это сделано по ссылке внизу браузера, но чтобы можно было вызвать из скрипта ... В веб интерфейсе можно было бы забирать по своей кнопке управление, а не делать два действия, сначала вернуть управление, а потом вызывать свою функцию по кнопке - но что-то пока тишина. А вроде простая фишка.
-
@DuckDuck said in Automatically take back Manual Browser Control from user?:
@Fox Я кстати писал в премиум поддержку, чтоб дали возможность вернуть управление скрипту, по типу как это сделано по ссылке внизу браузера, но чтобы можно было вызвать из скрипта ... В веб интерфейсе можно было бы забирать по своей кнопке управление, а не делать два действия, сначала вернуть управление, а потом вызывать свою функцию по кнопке - но что-то пока тишина. А вроде простая фишка.
Вы уверены что именно простая? Вы смотрели реализацию в репо?
-
@Fox said in Automatically take back Manual Browser Control from user?:
@DuckDuck said in Automatically take back Manual Browser Control from user?:
@Fox Я кстати писал в премиум поддержку, чтоб дали возможность вернуть управление скрипту, по типу как это сделано по ссылке внизу браузера, но чтобы можно было вызвать из скрипта ... В веб интерфейсе можно было бы забирать по своей кнопке управление, а не делать два действия, сначала вернуть управление, а потом вызывать свою функцию по кнопке - но что-то пока тишина. А вроде простая фишка.
Вы уверены что именно простая? Вы смотрели реализацию в репо?
Я тоже не смотрел реализацию. И тем не менее я понимаю, что можно реализовать и обходной путь - эмуляция клика по нужному месту в нужном окне сбоку.
Я так делал, когда в чужой программе не было нужного функционала и приходилось рядом писать свои скрипты, что эмулировали работу с интерфейсом программы.Мало того, я на постоянной основе так допиливаю чужой софт, так как часто разработчиков или не допросишься или проще сделать самому, чем объяснять что я хочу и зачем.
-
@DuckDuck said in Automatically take back Manual Browser Control from user?:
@Fox я к тому - что функционал то уже реализован - дать только возможность забирать управление из скрипта.
Функционал как раз таки не реализован, вы же хотите откуда то забирать управление, из другого потока или из веб интерфейса или, может, из js просматриваемой страницы..
Обратите внимание, я не против существования такого функционала, я лишь указал на то, что саппорт не просто так не тратит на это своё время.
@sergerdn said in Automatically take back Manual Browser Control from user?:
Вы уверены что именно простая? Вы смотрели реализацию в репо?
Я тоже не смотрел реализацию. И тем не менее я понимаю, что можно реализовать и обходной путь - эмуляция клика по нужному месту в нужном окне сбоку.
Я так делал, когда в чужой программе не было нужного функционала и приходилось рядом писать свои скрипты, что эмулировали работу с интерфейсом программы.Да, это может сработать, но при условии открытого окна браузера
Мало того, я на постоянной основе так допиливаю чужой софт, так как часто разработчиков или не допросишься или проще сделать самому, чем объяснять что я хочу и зачем.
Разрабатывает BAS один человек, а пользователей которым что-то нужно тысячи, логично, что он не пилит хотелку каждого пользвоателя, а реализовывает то, что считает более значимым.
По моему сам факт, что софт можно допилить самому развязывает руки нехило. Подавляющее большинство задач можно решить существующим функционалом, если для какой то задачи готового функционала нет - его можно расширить своими силами или чужими готовыми способами.
Не просто так на форуме существует тема "Лайфхаков" и ветка "Делитесь модулями", они как раз таки призваны расширить стандартный функционал. -
@Fox said in Automatically take back Manual Browser Control from user?:
Разрабатывает BAS один человек, а пользователей которым что-то нужно тысячи, логично, что он не пилит хотелку каждого пользвоателя, а реализовывает то, что считает более значимым.
Поменяй BAS на любое другое название и будет ровно тем самое. И всегда так было и всегда так будет.
Поэтому и существуют product manager, который расставляет приоритеты. Так как есть большой соблазн, если расставляет приоритеты сам разработчик, расставлять не так, как нужно пользователям, а как нужно ему(проще, легче, etc).
Без ложной скромности могу сказать, что у меня есть опыт плотного общения с разработчиками самого разного софта и часто обсуждения новых фич заканчивается "иметь эту фичу круто, но делать ее некому". Или "да, все сделаем, это нужно всем" и не делается годами.
P.S.
делайте BAS дороже и нанимайте разработчика - я только за. -
@Fox Когда работает режим ручного управления - внизу браузере появляется ссылка при нажатии которой - вызывается "Какая-та" функция, которая передает управление скрипту.
И лично в моей задаче я хочу вызывать эту функцию по своей кнопке в веб интерфейсе.
Ну вроде кажется не очень сложно? ну может я и ошибаюсь. -
@DuckDuck said in Automatically take back Manual Browser Control from user?:
@Fox Когда работает режим ручного управления - внизу браузере появляется ссылка при нажатии которой - вызывается "Какая-та" функция, которая передает управление скрипту.
И лично в моей задаче я хочу вызывать эту функцию по своей кнопке в веб интерфейсе.Я описал выше, что проблема не в ссылке, а в том, откуда именно вы хотите её вызывать. Попробую описать ещё раз более подробно: есть поток, в потоке кипит работа, открывается браузер, двигается курсор и т.д. В какой то момент запускается действие "Ручное управление браузером", запускается именно действие, оно ожидает нажатия на кнопку закрытия браузера или клика на ссылку внизу окна браузера, после этого это действие завершается и скрипт будет работать дальше.
Так вот руками кликнуть на эту ссылку можно уже сейчас, этот функционал уже сделан, но вы же хотите вызывать этот функционал не руками, по этому вопрос, откуда вы хотите его вызывать?
Рабочий поток выполняет действие "Ручное управление браузером", он не может выполнять ни какие другие действия, пока не завершит текущее. Значит завершить ручное управление может только другой поток или функция из веб интерфейса, что бы вы могли это сделать, нужно сперва определить какое именно окно браузера с ручным управлением нужно завершать? Их ведь может быть несколько одновременно открытых, браузер может быть закрытым и ожидать управления пользователем. Значит нужно получать список запущенных браузеров, определять браузера с ручным управлением, затем определять какой именно нужно завершить (по потоку, id или сообщению) и, собственно, выполнять завершение действия "Ручное управление браузером" удалённо по какому либо условию (например по времени).
В веб интерфейсе этот функционал частично реализован, нехватает только передачи команды завершения ручного управления. Но вот без веб интерфейса придётся реализовывать весь описанный выше функционал отдельно
-
@Fox Ну я же несколько раз писал - что хочу вызвать завершение ручного управления из веб интерфейса, по нажатию на свою кнопку в веб интерфейсе.
Вообще когда речь идет ручном управлении - обычно подразумевают один поток и то что браузер открыт. Сомневаюсь что, кто-то пытается использовать ручное управление в многопотоке.
Поэтому условия простые - один поток, и браузер открыт. -
@xASZx said in Automatically take back Manual Browser Control from user?:
Может появился функционал завершить ручное управление через веб интерфейс или еще как-нибудь?
Завершить действие извне нельзя, но вы можете завершить весь поток извне, если запускали этот поток также извне.