Почему Webdriver не может найти элемент через xpath? - PullRequest
0 голосов

Мой код не может найти регистрационную ссылку в XPath. Та же проблема с использованием CSSSelector.

driver = new ChromeDriver(options);
            driver.Navigate().GoToUrl("https://www.goldtoe.com/state/landing");         
            var LoginLink = driver.FindElement(By.XPath("//li[@class='hidden-xs myAccountMenu']//a[contains(text(),'Sign In/Register')] "));
            LoginLink.Click();

Сообщение:

OpenQA.Selenium.NoSuchElementException: нет такого элемента: невозможно элемент locate: {"method": "xpath", "selector": "// li [@ class = 'hidden-xs myAccountMenu '] // a [содержит (text (),' Войти / Зарегистрироваться ')] "} (сессия информация: chrome = 74.0.3729.169) (информация о драйвере: chromedriver = 74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-ссылки / отраслевые головки / 3729 @ {# 29}), платформа = Windows, NT 10.0.17763 x86_64)

1 Ответ

0 голосов
/ 26 мая 2019

Я думаю, вам нужен escape-символ для строки 'Sign In / Register', особенно для специального символа '/'. Итак, попробуйте «Войти \ / Зарегистрироваться». Используйте '\' в качестве escape-символа.

...