На моем веб-сайте у меня есть кнопка, на которую я должен навести курсор, чтобы «разблокировать» 4 других пункта меню.
Я хочу навести курсор мыши на свое меню, и это нормально, но я не могу найти элемент, который хочу выбрать, после действия наведения. Код в консоли исчезает после наведения курсора мыши на кнопку, поэтому я не могу найти кнопку с помощью xpath или css. Код из 4 вариантов одинаков, единственное, что их отличает, - это параметр data-name.
Plusknop (основная кнопка, после наведения на нее видны следующие 4 варианта выбора)
'Заак анмакен'
WebElement plusknop = driver.findElement(By.cssSelector(".top-bar-create-case"));
Actions action = new Actions(driver);
action.moveToElement(plusknop).build().perform();
WebElement contact = driver.findElement(By.cssSelector("/html/body/div[1]/zs-intern/div[1]/zs-contextual-action-menu/zs-contextual-action-menu-button/div[2]/ul/li[data-name=\"contact\"]"));
contact.click();
Exception in thread "main" org.openqa.selenium.InvalidSelectorException: Given css selector expression "/html/body/div1/zs-intern/div1/zs-contextual-action-menu/zs-contextual-action-menu-button/div[2]/ul/li[. = "contact"]" is invalid: InvalidSelectorError: '/html/body/div1/zs-intern/div1/zs-contextual-action-menu/zs-contextual-action-menu-button/div[2]/ul/li[. = "contact"]' is not a valid selector: "/html/body/div1/zs-intern/div1/zs-contextual-action-menu/zs-contextual-action-menu-button/div[2]/ul/li[. = "contact"]"
Все четыре пункта меню имеют одинаковый xpath. Единственное, что их отличает, - это «имя-данные». Это то, что я добавил вручную в код в конце кода. Я хочу выбрать тот, у которого имя-данные "контакт"
Я действительно не могу добавить код, потому что его невозможно выбрать, так как он исчезает, когда я хочу скопировать код. Вот более расширенный кодвведите описание изображения здесь.
Просто немного сложно понять ваш вопрос. Было бы очень полезно, если бы вы прояснили следующее: 1. Есть ли у вас доступ для изменения html-кода, чтобы включить идентификаторы для желаемого элемента? 2. Что на самом деле означает «гибкий список всплывающих меню»? 3. Включите код в качестве фрагмента кода в вопрос вместо ссылки на снимок экрана.
Кроме того, как найти элемент вручную? у него есть конкретное название? Размещение в DOM? Что отделяет его от других элементов?
Обновил вступление. большое спасибо за ответы. Я немного новичок, так что извините.
Вы используете cssSelector с xPath. Исключение составляет действительное сообщение об ошибке: данное выражение селектора css ... недопустимо.
Это селектор Css Дакшина. Моя проблема в том, почему он его не найдет. Мои параметры в названии данных "контакт" написаны неправильно? Каковы ваши решения? Я так долго пытался это решить!
@Erman это нет селектор CSS. Например, «/ html / body» - это Xpath, а «html> body» - это соответствующий селектор CSS.




Пожалуйста, добавьте соответствующий код в вопрос как код, а не как снимки экрана.