Как получить правильный Xpath для элемента HTML <li>? - PullRequest
0 голосов
/ 23 апреля 2019

я должен сделать Selenium, чтобы щелкнуть по элементу выпадающего меню, используя Java и Inteliji. Я должен нажать на кнопку "today". Я пытался скопировать xpath, использовать cssselector, я использовал такие расширения, как xpath finder и т. Д., Безрезультатно. Элемент <li> типа, так что я думаю, проблема здесь. Любые предложения, как найти правильный Xpath? Постскриптум извините за загрузку изображения, как новый пользователь, я не могу поместить их точно в текст. Изображение выпадающего меню html код для элементов

1 Ответ

0 голосов
/ 23 апреля 2019

Вы не всегда можете получить многоразовый локатор XPath для селена из инструмента браузера.Возвращает абсолютный XPath.Вам нужно построить относительный XPath для элементов.

Здесь вы можете узнать о XPath и о том, как работают локаторы XPath.

Следующие локаторы основаны на размещенном вами изображении.

XPath:

WebElement liToday = driver.findElement(By.xpath("//div[contains(@class,'daterangepicker') and contains(@class,'dropdown-menu')]/div[@class='ranges']/ul/li[text()='Today']"));

Селектор CSS:

WebElement liToday = driver.findElement(By.cssSelector("div.daterangepicker.dropdown-menu > div.ranges > ul > li"));

После нахождения элемента,
thisчасть для после того, как вы нажали поле даты и раскрывающийся список показывает.

new WebDriverWait(driver,30).until(ExpectedConditions.visibilityOf(liToday));
liToday.click();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...