У меня есть список веб-элементов, в которых хранятся веб-элементы «ценовые предложения» и «диапазон цен». Я сохраняю их в локаторах списка @FindBy.
Проблема возникает, когда я хочу их использовать — у меня есть метод, который проверяет тип цены продукта на странице — если это диапазон («...» $9,00 - $15,00"...") возвращает PriceRange, но если это предложения ("...2 предложения от...") возвращает PriceOffers. Для этого метода требуется локатор «По», он не принимает список. Если я изменю его со List на By, значение локаторов станет нулевым (найдено в отладке), и если я попытаюсь привести его в метод проверки типа цены, выполнение завершится неудачей и поток остановится.
Мне нужно просмотреть каждый продукт, его цену, отзывы, название, звезды и рейтинг. Конечная цель — сохранить информацию на листе Excel.
У меня есть один рабочий метод, в котором он сохраняет все (код сохраняет все эти элементы в List, а затем перебирает каждый элемент, чтобы записать его на лист Excel). ), но таким образом каждый элемент не связан со своим основным продуктом - если, например, у одного продукта нет отзывов, на листе Excel этот продукт может получить номер обзора предыдущего (или следующего) продукта, потому что код не имеет t хранить информацию не для каждого отдельного продукта, а для каждого списка элементов продукта.
Веб-страница называется «Amazon Movers & Shakers», метод и локаторы следующие:
@FindBy(xpath = "//span[contains(text(), 'offer from') or contains(text(), 'offers from')]")
List priceOffers;
@FindBy(xpath = "//span[contains(@class, 'a-size-base a-color-price')]")
List priceRange;
public boolean priceType(WebElement product) {
try {
WebElement offersElement = product.findElement(priceOffers);
return offersElement.isDisplayed();
} catch (NoSuchElementException e) {
try {
WebElement rangeElement = product.findElement(priceRange);
return rangeElement.isDisplayed();
} catch (NoSuchElementException e1) {
return false;
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... ent-object
Невозможно передать локатор «By» для объекта List. ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1728997294
Anonymous
У меня есть список веб-элементов, в которых хранятся веб-элементы «ценовые предложения» и «диапазон цен». Я сохраняю их в локаторах списка @FindBy.
Проблема возникает, когда я хочу их использовать — у меня есть метод, который проверяет тип цены продукта на странице — если это диапазон («...» $9,00 - $15,00"...") возвращает PriceRange, но если это предложения ("...2 предложения от...") возвращает PriceOffers. Для этого метода требуется локатор «По», он не принимает список. Если я изменю его со List на By, значение локаторов станет нулевым (найдено в отладке), и если я попытаюсь привести его в метод проверки типа цены, выполнение завершится неудачей и поток остановится.
Мне нужно просмотреть каждый продукт, его цену, отзывы, название, звезды и рейтинг. Конечная цель — сохранить информацию на листе Excel.
У меня есть один рабочий метод, в котором он сохраняет все (код сохраняет все эти элементы в List, а затем перебирает каждый элемент, чтобы записать его на лист Excel). ), но таким образом каждый элемент не связан со своим основным продуктом - если, например, у одного продукта нет отзывов, на листе Excel этот продукт может получить номер обзора предыдущего (или следующего) продукта, потому что код не имеет t хранить информацию не для каждого отдельного продукта, а для каждого списка элементов продукта.
Веб-страница называется «Amazon Movers & Shakers», метод и локаторы следующие:
@FindBy(xpath = "//span[contains(text(), 'offer from') or contains(text(), 'offers from')]")
List priceOffers;
@FindBy(xpath = "//span[contains(@class, 'a-size-base a-color-price')]")
List priceRange;
public boolean priceType(WebElement product) {
try {
WebElement offersElement = product.findElement(priceOffers);
return offersElement.isDisplayed();
} catch (NoSuchElementException e) {
try {
WebElement rangeElement = product.findElement(priceRange);
return rangeElement.isDisplayed();
} catch (NoSuchElementException e1) {
return false;
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79090072/cannot-pass-by-locator-for-listwebelement-object[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия