Почему Selenium Webdriver замораживает приложение Windows Form? - PullRequest
0 голосов
/ 02 марта 2019

Любой, кто может помочь мне с этой проблемой.Я искал его даже в Google, но ничего не нашел.Я сделал приложение Windows Form для очистки некоторых данных.Проблема в том, что когда я нажимаю на кнопку, скрипт запускается в автономном режиме, и я использую Chrome Web-драйвер.Затем приложение зависает в том смысле, что не позволяет нам использовать другие кнопки приложения во время выполнения сценария.

Есть какое-нибудь решение для этого или любой другой структуры или вещи, которые я могу сделать?

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

Это связано с тем, что ваше приложение является однопоточным.Означает, что весь код, который он выполняет, выполняется в одном потоке.Таким образом, у вас нет способа выполнить некоторую работу, пока ваш пользователь изменяет состояние пользовательского интерфейса и наоборот.

Хорошее решение - запустить «сценарий селена» (или подпрограмму, которая его запускает) напоток, который не используется вашим приложением для пользовательского интерфейса.

Этого можно добиться несколькими способами:

  • Используя Task Class
  • Использование Thread Класс
  • Использование BackGroundWorker Класс, который входит в 'Windows Forms.

Всегда помните, что по умолчаниюпоток выполнения (в Windows Forms) - это тот, который поддерживает работу интерфейса и вашего приложения.

0 голосов
/ 02 марта 2019

Поместите фактическую работу в фоновое задание, а не в обработчик нажатия кнопки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...