Приложение не идентифицируется с помощью селекторов CSS, работающих с браузером Inte rnet explorer версии 11 - PullRequest
0 голосов
/ 27 апреля 2020

Я использую «http://automationpractice.com/index.php» для PO C в браузере IE, когда я перешел через кнопку «Войти», эта идентификация текстовых полей электронной почты сходит с ума и в настоящее время не идентифицируется по сценарию. Я использовал CssSelectors для идентификации ниже:


#email_create
input#email_create
input[id='email_create']
input[id*='email_create']
input[id^='email_create']
driver.findElement(By.CssSelector("MENTIONED ABOVE")).SendKeys("abc");

Удивительно, но эти селекторы работали для Chrome, Firefox, но не для IE.

Ценю вашу помощь.

1 Ответ

0 голосов
/ 28 апреля 2020

Я пытался проверить ваш код на моей стороне с помощью браузера IE 11.

В результате моего теста я обнаружил, что ваш код работает и может искать элемент по его идентификатору.

Я обнаружил, что он показывает ошибку OpenQA.Selenium.NoSuchElementException , когда я пытаюсь проверить ваш код с помощью CssSelector

Я пытался изменить код, как показано ниже и он работает с браузером IE.

   driver.FindElement(By.CssSelector("input[id=email_create]")).SendKeys("abc");

Полный код:

class Program
    {
        private const string URL = @"http://automationpractice.com/index.php?controller=authentication&back=my-account";

        private const string IE_DRIVER_PATH = @"D:\D drive backup\selenium web drivers\";

        static void Main(string[] args)
        {
            var options = new InternetExplorerOptions()
            {
                InitialBrowserUrl = URL,
                IntroduceInstabilityByIgnoringProtectedModeSettings = true,
                ForceCreateProcessApi = true,
                //BrowserCommandLineArguments = "-private"
            };
            var driver = new InternetExplorerDriver(IE_DRIVER_PATH, options);

            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(2);
            try
                {
                //var text = driver.FindElementById("email_create");
                //text.SendKeys("abc");

                driver.FindElement(By.CssSelector("input[id=email_create]")).SendKeys("abc");

                Console.WriteLine("success");
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }

        }
    }

Вывод:

enter image description here

...