Как кликнуть по точке в Selenium чтобы отработало событие клика на objectManager?
Очевидно, что по координатам клик не работает, как и по xpath. Пытаюсь через JS эмулировать клик, но непонятно какой target передать.
Вот таким способом навешиваю обработчик клика на метку.
objectManager.objects.events.add('click', function (event) {
//some manipulations objectManager.objects.getById(event.get('objectId')).properties.data
}
Вот так задаю триггер клика:
objectManager.objects.events.fire('click', {
coordPosition: objectManager.objects.getById("1031").geometry.coordinates,
target: objectManager.objects.getObjectManager().objects
})
Здесь, непонятно, что должно быть в target. В примерах видел объект placemark, но у меня нет нигде placemark, в глобальной области только карта и objectmanager. Я отловил событие клика реального и вот эта конструкция objectManager.objects.getObjectManager().objects даёт максимально похожий объект. Однако, event.get('objectId') тут не будет
Ответы (1 шт):
Я пошёл другим путём. Организовал доступ через класс Actions. Дальше будет код на Python:
map_div = self.find_element(MainPageLocators.LOCATOR_POINT_ON_MAP_IN_FOOTER)
action_chains = ActionChains(self.driver)
action_chains.move_to_element_with_offset(map_div, 588, 152).click().perform()
time.sleep(0.5)
return self.find_element(MainPageLocators.LOCATOR_TEXT_POINT_ON_MAP).text
p.s. мне необходим был доступ к тексту пункта, сразу после клика по point'у на карте. Координаты вычислил путём исследования скриншота в paint.
- MainPageLocators.LOCATOR_POINT_ON_MAP_IN_FOOTER - слой, где лежит яндекс карта
- MainPageLocators.LOCATOR_TEXT_POINT_ON_MAP - абсолютный путь XPATH до pop-up окошка пункта на яндекс карте после клика на фишке, где лежит адрес.