2015-08-19 5 views
0

Как сохранить все найденные значения из таблицы в список? Я не могу найти результат таблицы.Получение результатов поиска из таблицы

WebElement names = driver.findElement(By.xpath("//*[@id='idnumber']/div[3]/table")); 
Thread.sleep(100000); 

List<WebElement> TotalRowCount = names.findElements(By.xpath("//*[@id='idnumber']/div[3]/table/tbody[2]/tr")); 

System.out.println(TotalRowCount); 

Даже для этого базового кода он дает ошибку, что он не может найти элемент.

Сначала я хочу найти элемент из таблицы, и я хочу выбрать радиообъект из найденного значения. Пожалуйста помогите нам.

ответ

0

Есть несколько проблем.

1) Ваша первая линия хранит один TABLE тег в names то третья строка поиска нижеnames с помощью names.findElements(), но ваш второй XPath содержит XPath от первого элемента. Если у вас нет вложенных таблиц, как с одинаковой структурой, это, скорее всего, проблема.

2) Почему у вас есть sleep() между этими линиями, не говоря уже о таком длинном? Для этого нет причин.

3) Ваш sysout не собирается печатать что-либо читаемое человеком.

Попробуйте вместо этого:

List<WebElement> TotalRowCount = driver.findElements(By.xpath("//*[@id='idnumber']/div[3]/table/tbody[2]/tr")); 
System.out.println(TotalRowCount.size()); 

Вы должны потратить некоторое время на чтение некоторых Java и Selenium учебники. Возьмите книгу или две и прочитайте их, чтобы лучше понять, что вы пытаетесь сделать.

+0

Да, я сделал эту ошибку. даже при попытке вашего кода я не могу получить размер подсчета строк. –

+0

Что он возвращает? Он должен вернуть количество элементов, возвращаемых XPath, которые вы поставили ... правильно ли XPath? – JeffC

+0

Я получил решение. Это была проблема со временем, требуемым для определения местоположения элемента. И это было решено. Теперь я могу получить доступ к требуемому элементу из таблицы. Благодаря :) –

0

Сначала вы должны решить свою проблему, я имею в виду, что вы используете неправильный xpath для определения местоположения элементов. Если вы не знаете, как найти xpath вашего элемента, перейдите по адресу Is there a way to get the xpath in google chrome?.

ваш System.out.println (rowCount); не имеет смысла для меня, он просто печатает и строковое представление для этого объекта, вы должны использовать что-то вроде rowcount.size();

После того, как вы сможете правильно найти свой веб-элемент, вы можете использовать для цикла, чтобы получить все строки из вашей таблицы.

+0

Я использую правильный путь. Возможно, возникнет другая проблема. –

+0

Что вы получили от System.out.println (TotalRowCount); ? – Jegg

+0

Я использовал firepath add-on для поиска элемента. И xpath прав. Есть еще одна проблема. Возможно, я не могу обрабатывать таблицу. –

Смежные вопросы