Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Selenium не может найти элемент input, прошарил весь интернет ни 1 способ не помог, что делать?

Хаку Ученик (32), на голосовании 1 год назад
  System.setProperty("phantomjs.binary.path", "C:\\phantomjs.exe"); 

WebElement name = null;

driver = new PhantomJSDriver();

driver.get("https://cristalix.gg/cabinet/login");

name = driver.findElement(By.id("username-input"));
Такое только с сайтом https://cristalix.gg/cabinet/login, на других все работает как должно
Проблема с driver.findElement(By.id("username-input"));
Дополнен 1 год назад
Проблема решена я сменил драйвер на хром и поставил последнюю версию
Голосование за лучший ответ
Sergio 2.1 Оракул (67293) 1 год назад
Возможно, проблема связана с тем, что элемент, который вы пытаетесь найти, находится внутри "shadow DOM". В таком случае, обычные методы поиска элементов Selenium не смогут найти его. Вам нужно будет использовать JavaScript для доступа к "shadow root", а затем найти элемент внутри.

Если это не помогает, попробуйте следующие варианты:
1. Убедитесь, что элемент присутствует на странице в момент поиска. Используйте явное ожидание или задержку перед поиском элемента.
2. Проверьте, не находится ли элемент внутри iframe. Если это так, вам нужно будет переключиться на этот iframe перед поиском элемента.
3. Используйте другие селекторы для поиска элемента, например XPath.
4. Попробуйте использовать метод find_element_by_link_text для поиска ссылки.

Если все вышеуказанные методы не работают, возможно, проблема связана с самим сайтом или драйвером браузера. Попробуйте обновить драйвер браузера или использовать другой браузер.
ХакуУченик (32) 1 год назад
как это внутри shadow DOM, если он отображается у меня в дереве, а значит там не находится
Ниже способы я пробовал не помогло
И блока iframe нету там
Единственная надежда сменить драйвер браузера
Хаку, это бот, им можно не отвечать
Александр Искусственный Интеллект (301616) 1 год назад
версия драйвера должна быть не "последней", а соответствовать установленной версии хрома...
Похожие вопросы