Ошибка OpenQA.Selenium: недопустимый аргумент: дескриптор должен быть строкой - PullRequest
0 голосов
/ 21 октября 2019

У меня возникают некоторые проблемы при переключении в новое окно при проведении удаленного тестирования с использованием Selenium. У меня не было проблем при локальном тестировании, но при удаленном тестировании он продолжает вызывать «дескриптор», что является ошибкой строки. Я проверил свой код и убедился, что мой аргумент окна является строкой. Кто-то, пожалуйста, помогите.

Ниже приведен код и сгенерированная ошибка.

    public static void SwitchToLoginWindow(IWebDriver webDriver)
    {
        // Wait for the popup to appear
        ReadOnlyCollection<string> wh;

        int timeCount = 1;
        do
        {
            wh = webDriver.WindowHandles;
            Thread.Sleep(200);
            timeCount++;
            if (timeCount > 50)
            {
                break;
            }
        } 

        while (wh.Count == 1);

        //Thread.Sleep(500);
        //int numberOfWindows = wh.Count;
        var numberOfWindow = wh.Count;
        Console.WriteLine($"Switching to Azure AD login popup. Return URL is {webDriver.Url}");
        Thread.Sleep(200);

        webDriver.SwitchTo().Window(wh[numberOfWindow - 1]);
        Waiters.ExplicitWait(webDriver, SelectorType.CssSelector, AzureAd.UserNameField);
    }

Ошибка исключения

Брошено здесь:

webDriver.SwitchTo().Window(wh[numberOfWindow - 1]);

OpenQA.Selenium.WebDriverException: 'недопустимый аргумент:' handle 'должен быть строкой (Информация о сеансе: chrome = 75.0.3770.90) Информация о сборке: версия:' 3.141.59 ', ревизия:' e82be7d358', время:' 2018-11-14T08: 25: 53 'Информация о системе: хост:' 8f5340ba4bc2 ', ip:' 172.21.0.12 ', имя os.name:' Linux ', os.arch:' amd64 ', os. версия: '4.4.0-145-generic', java.version: '1.8.0_212' Информация о драйвере: driver.version: неизвестно '

1 Ответ

0 голосов
/ 01 ноября 2019

У меня была такая же проблема, но я пока не нашел решения.

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