public List<WebElement> getSomeElements(String path) {
if (path == null){
throw IllegalArgumentException("getElements: illegal path (NULL)");
path = "//*[@id='Hello']";
}
WebDriverHelper wd = new WebDriverHelper();
List<String> result = new ArrayList<>();
result.add(wd.getElements(path));
if (result.isEmpty()){
for(WebElement element : result){
if(element.getText() == "remove")
result.remove(element);
}
} else {
return result.get(0);
}
if (wd.isElementsPresent(path)) {
System.out.println("There aren't any elements by this path");
return;
}
return result;
}
Максим
17 уровень
Нужна помощь с началом кода, дальше сам разберусь, там нужно ошибки исправить, помогите плиз.
Решен
Комментарии (10)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Максим
31 июля 2020, 08:24
Вот и видна ценность такого обучения, я не могу это решить, никто возможно тоже не знает как..
0
Ksenia VolkovaJava Developer в DXCMaster
31 июля 2020, 10:19решение
А возможно, кто-то просто неудачно формулирует свои вопросы.
По синтаксису:
- после throw должно быть new
- следующая строка после throw вообще не имеет смысла, потому что это недостижимая часть кода
- строки не сравнивают с помощью == (element.getText() == "remove")
По логике:
Если result - пустой список, то в чем смысл цикла for-each?
По идее метод isElementsPresent вернет true, если там что-то есть. А это не соответствует выводимой строке.
Больше ничего не могу сказать по куску кода без контекста.
+3
Wladyslaw Java Developer Master
31 июля 2020, 10:25полезный
Добавлю еще немного
Если судить по логике твоего кода - ты ожидаешь что тут
вернется не одна строка, а какой-то лист или массив, не знаю, при чем не строк а чего-то другого
Ну так вот, если так - это тоже работать не будет
Это ж самый коровский-кор.
Как ты местные задачки то решал, если тебя такие вещи в тупик загоняют?
+1
Максим
31 июля 2020, 12:40
Это кусок кода, а мы по курсу писали код, который должен что-то делать и я ещё не сталкивался с тем, что я создаю тестовый файл, а у меня в нём всё красное и непонятно где начало кода и что вообще он делать должен.
0
Wladyslaw Java Developer Master
31 июля 2020, 12:54
Так я же и говорю, что подобные вопросы должны были возникнуть на задачках уровня так 4-5-го этого курса, где начинаются циклы, встречаются коллекции.
А твой кусок - это просто какой-то один метод.
Если работаешь в рамках SE - ищи метод мэйн, там и точка входа.
Если в рамках какого-то сервера приложений - ну там все иначе, конечно.
Но, пододных вещей в этом курсе нет.
Джавараш хорош, как по мне, но это курс по джава-кору.
0
Максим
31 июля 2020, 13:20
Я так и привык по курсу, начинать с метода main и с него дальше двигаться вперёд, а этот код, вставленный в тестовый файл, который просто весь выделился красным, без main меня просто вогнал в ступор, такое в курсе мне к сожалению до сих пор не попадалось, я даже не знал как проверить этот кусок кода без main, всегда перед выполнением задачи я проверял сам по много раз код через cntrl+shift+f10, а тут я не мог это сделать потому-что это кусок кода без точки входа.
0
Wladyslaw Java Developer Master
31 июля 2020, 13:21
ну так это может работаь в томкате каком-то, который свою точку входа имеет. Или и не в томкате, а просто - это кусок какого-то проекта. Мы же не знаем откуда ты это выдрал.
Красным тебе идея подсветила, потому что скорее всего импортов нет, ну и других ошибок времени компиляции, на которые уже выше указали.
0
Максим
31 июля 2020, 13:25
Мне это как пробное задание hr прислал, я сначала подумал что будет легко, когда увидел, что нужно просто прокомментировать и исправить ошибки, но как разбираться в кусках проекта, а не в целом я пока не знаю и у меня пока рука не набита всё наизусть помнить, за меня 50% работы IDEA сама делала)
0
Wladyslaw Java Developer Master
31 июля 2020, 13:28
тут не в памяти дело, а в понимании. Бери спецификации, которые входят в java EE и читай.
Но если прислали только вот это - ты тоже не можешь знать контекста, и на ошибки тебе уже указали. На те, о которых можно было судить исходя из данной информации.
0
Максим
31 июля 2020, 13:29
Я понял, спасибо)
0