Я делаю тест с веб-сайтом, используя Selenium и Winforms.
Я должен использовать задержки здесь и там довольно часто.
Я до сих пор не могу понять, в чем может быть проблема. и я не очень хорошо разбираюсь в «тупиковой» вещи, но я проверил несколько ответов здесь, и код не кажется тупиковым.
так что в основном это функция internal async Task HandleInput()
его использование - это цикл по каждой строке текстового файла, а затем ввод его на веб-сайт.
цикл, каждая логика работает правильно, и он работал до вчерашнего дня и сегодня, когда я запустил VS и запустил проверку приложения, он просто ударил прямо в той строке, где написано await Task.Delay(1000);
.
с другой стороны, Task.Delay (1000) .Wait (); работает отлично.
Так я вызываю функцию задачи из основной функции HandleInput()
.
Logger.LogGenericText("starting process...");
await SignInToSite(DriverChrome, Wait, id, pass);
вот функция SignInToSite()
:
Функциональная головка: public async Task SignInToSite(IWebDriver DriverChrome, WebDriverWait Wait, string id, string pass)
try
{
Logger.LogGenericText("Acessing Login URL...");
DriverChrome.Navigate().GoToUrl("xxxxxxxxxxxxxxxxxxxxx");
await Task.Delay(1000); //entire program goes to standstill in here, UI isnt struck.
Logger.LogGenericText("Passing id and Password to respective fields...");
Wait.Until(d => d.FindElement(By.Name("username"))).SendKeys(steamId);
await Task.Delay(1000);
Wait.Until(d => d.FindElement(By.Name("password"))).SendKeys(pass);
Wait.Until(d => d.FindElement(By.Id("UserLogin"))).Click();
await Task.Delay(3000);
}
catch (Exception ex)
{
Logger.LogGenericText(ex.ToString());
return;
}
Я попробовал скомпилированную программу на другом ПК, исправлений нет.
был бы рад, если бы кто-нибудь мог указать мне правильное направление.