Я пытаюсь провести обзор Selenium на веб-сайте, который используется для поиска самых дешевых рейсов. Я был в состоянии пройти через весь процесс поиска, но теперь я застрял в выборе полета. Мне удается заказать рейсы по названию компании. И теперь мне нужно нажать на два первых рейса (отправление, прибытие).
Как видно на прикрепленном изображении, веб-страница генерирует две таблицы. У каждого из них есть несколько рейсов в списке. Мне нужно щелкнуть мышью по первой таблице.
Проблема заключается в том, что в сгенерированном списке используются разные DIV ID для разных компаний, а идентификаторы имеют случайные числа ("_X", X - случайное число).
Мне просто нужно нажать на DIV на каждой таблице, любой столбец должен это сделать. Но все столбцы используют одно и то же имя (в обеих таблицах).
Использование Селен IDE работает сейчас, но только на несколько часов, потому что рейсы, цены, часы постоянно обновляются, и веб-страница показывает разные результаты каждый раз, что означает разные идентификаторы каждый раз.
Есть ли способ решить это?
ВАЖНО: я использую JAVA с Selenium. Нет PERL, нет PYTHON или другой.
Это будет Шаги, использующие JAVA сейчас:
// This orders the departure flight by company.
selenium.click("id=orden-compania-ida");
selenium.click("id=orden-compania-ida");
// This orders the arrival flights by company.
selenium.click("id=orden-compania-vuelta");
selenium.click("id=orden-compania-vuelta");
// This would click on the first link of first table
selenium.click("css=div.col-3 > label");
selenium.click("id=I_5");
// This would click on the first link of the second table
selenium.click("css=#TV_GDSAMADEUS_7 > div.col-3 > label");
selenium.click("id=V_12");
В данный момент это работает, но после обновления полета это больше не будет работать. Есть ли способ заставить селен кликать по правильному первому полету каждого стола все время?
Заранее большое спасибо.
ССЫЛКА НА ИЗОБРАЖЕНИЕ