Но появилась новая проблема. Иногда скрипт во время работы внезапно запрещает выделять действия. Т.е при клике на любое действие, оно просто не выделяется красным. Это второй баг, независимый от первого если что
"Поток завершился с сообщением "NetworkAccessManager is not accessible, try to create new browser with open browser command"
-
Всем привет! Сделал скрипт для парсинга одного сайта. В режиме "Запись" работает всё как надо. Ставлю в режим "Запуск" и появляются ошибки "Поток завершился с сообщением "NetworkAccessManager is not accessible, try to create new browser with open browser command". Скрипт прилагаю.
proekt01.xml
-
@Cosmostars Зачем вы используете 'Вызов функции в несколько потоков', но ставите 1 поток и много успешных выполнений, если это можно сделать циклом?
Вы загружаете страницу в одном потоке, а функция работает в другом, там не определен (грубо говоря) браузер.
Вот вам простейший скрипт и он будет работать точно так же, как и ваш. Однако если вызов функции в неск. потоков заменить на обычный вызов всё будет ок.
-
@Oyasumi-Punpun Я второй день пользуюсь прогой, и вроде понял вас но не совсем). Заменил вызов в несколько потоков на обычный вызов. По логике скрипта : после загрузки страницы с товарами, определяется кол-во товаров на странице, и потом он обходит каждый товар(данные внутри страницы с товаром. Как можно оптимизировать, ускорить действие скрипта? Я понимаю так: нужно в момент после загрузки страницы и определения кол-ва товаров на странице, как-то запустить в несколько потоков именно обход и парсинг для товаров на странице. Это верно или нет? И если да, то в какое место в скрипте вставить действие для многопотока?
И ещё вы написали "если это можно сделать циклом?", но у меня выше стоит цикл FOR с количеством выполнений=числу товаров на странице. Или вы про другое место? -
@Cosmostars "если это можно сделать циклом" - ну у вас был вызов в несколько потоков с большим кол-вом неуспешных повторений, если вам нужны эти неуспешные повторения - можно сделать циклом.
Если вы хотите сделать максимально быстрый скрипт - следует использовать HTTP клиент и POST/GET запросы. По логике в принципе так - вы же не можете в одном окне браузера смотреть в одно время 100 товаров? И BAS не может. Если всё таки нужно через браузер + как можно быстрее - вам следует переделать логику работы. Тут вопрос как раз больше в вашей логике, а не правильности действий в принципе. В идеале в функции OnApplicationStart получить список товаров всех возможных, либо выделить для этого отдельный поток, а в основной части пусть каждый поток обрабатывает свой товар.
Когда вы выполняете весь скрипт в многопоточном режиме - для каждого потока создается свой инстанс (браузер), поэтому проблем подобных не будет.
-
-
-
-
Работа с куками
Moved Поддержка -