Нужно добавить webElements в Map чтобы потом доступиться через key (Country name).
как лучше ето зделать, xpath к каждому div column или один xpath для всех елементов?
Не совсем понятно, что вы собираетесь мапить… Исходя из приведенного куска верстки, у вас 1 страна и несколько одинаковых каренси с разным рейтом. Что из этого всего будет выступать в роли значения в вашей мапе?
Так не получится
В мапе к одному ключу можно сопоставить только одно значение.
Если Вы второе значение засунете в мапу для того же ключа, то оно(второе значение) просто перетрет предыдущее.
Всего на странице есть много стран (около 500) и к каждому писать xpath не хочется. И я думал добавить ето в Map или List а потом в for кликать на ту страну какая мне нужна (Просто по названию страны или по значению больше 100 например). Вот я и думаю как бы это сделать, обєдинить страну и значениею.
Может кто то уже такое делал
Можно представить блок со страной как яндексовский HTML element, реализовать в нем все нужные методы и получать лист этих блоков. Так гараздо более красиво, чем мапа стрингов или веб элементов.
Я бы написал метод типа GetDataFromCountry(string countryName), в котором отдавал все данные, которые мне нужны.
Метод должен возвращать структуру (тот же ArrayList) со значениями валюты и рэйтов (если их количество всегда одинаково для каждой страны либо известно точно, сколько их должно быть в каждом конкретном случае).
Внутри метода используем локатор по xpath с параметром страны.
Создать енум с конструктором, который будет принимать страну, value1, value2 и забить этот енум всеми вашими странами, а также значениями для них
Создать метод, который (на ваш выбор) будет возвращать икс пас или вебелемент. Икс пас строите внутри метода используя данные из энума. И возвращаете что нужно.
Енум может выглядеть так :
соответсвенно метод по построению будет на вход принимать енум, а на выходе xpath или вебэлемент - в зависимости от того как у вас в фреймворке все устроено