Как найти соответствующий веб-элемент по селене Java - PullRequest
0 голосов
/ 29 января 2019

См. Ниже прикрепленный enter image description here соответствующий XML-код и мой Java-код для определения местоположения элемента:

Java-код:

    //Set date range
    WebElement parentStartdate = obj.findElement(By.xpath("//[@id=typein_[Parameters].[Parameter 3]]"));
    WebElement child=parentStartdate.findElement(By.xpath("//input[@value='1/1/2019']"));

Я получаю следующую ошибку: Исключение в потоке "main" org.openqa.selenium.InvalidSelectorException: неверный селектор: невозможно найти элемент с выражением xpath //[@id=typein_[Parameters].[Parameter 3]] из-за следующей ошибки: SyntaxError: Не удалось выполнить «оценку» для «Документа»: строка «//[@id=typein_[Parameters].[Parameter 3]]» не является допустимым выражением XPath.

Любая помощь приветствуется!

enter image description here

Вся структура XML: enter image description here

Ответы [ 3 ]

0 голосов
/ 29 января 2019

Если у вас есть только один QueryBox на веб-странице, вы можете выбрать элемент, используя следующий xpath для вашего случая:

WebElement element = driver.findElement(By.xpath("//input[@class='QueryBox']"));

0 голосов
/ 29 января 2019

Попробуйте этот селектор:

//div[contains(@class, 'TypeInDiv')]/span[@class="TypeInQuerySpan"]/input[@type='text'][@class='QueryBox'][@value='1/1/2019']

3 идентификатора на входе не являются обязательными, вы можете выбрать 1 или 2 или оставить все 3, вы решаете.

0 голосов
/ 29 января 2019

Как говорится в сообщении об ошибке, это неверное выражение Xpath.Выберите первый элемент с помощью

WebElement parentStartdate = obj.findElement(By.xpath("//span[@class='TypeInQuerySpan']/input"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...