Java Selenium — POM — html xpath — нет такого элемента: не удается найти элемент

#java #html #selenium #xpath

#java #HTML #селен #xpath

Вопрос:

Я получаю эту ошибку при попытке найти веб-элемент для тестирования кнопки facebook «создать страницу»> «зарегистрироваться» в объектной модели страницы. Я пробовал различные варианты, например, по имени класса (селектор CSS), а также путем копирования системного xpath, но получал то же сообщение об ошибке

org.openqa.selenium.Исключение NoSuchElementException: нет такого элемента: невозможно найти элемент

 /driver.findElement(By.xpath("//*[@id='blueBarDOMInspector']/div/div[1]/div/div/span/a")).click();
  
 driver.findElement(By.className("_42ft _4jy0 signup_btn _4jy4 _4jy2 selected _51sy"));
  

Ответ №1:

Похоже, что имя вашего класса генерируется случайным образом — вы можете проверить это, повторно посетив ту же страницу из разных браузеров (или вы можете попробовать инкогнито). Если это правда, вам нужен другой способ работы с элементом. Некоторые примеры:

  1. Если эта Sign Up кнопка — используйте XPath и найдите текст в этом элементе
  2. Подумайте, может ли ваша задача быть решена без использования взаимодействия с пользовательским интерфейсом (или частью задачи). Прочитайте об API facebook и, если возможно, используйте это вместо пользовательского интерфейса. Это сэкономит вам много времени и хлопот в будущем.