Здравствуйте. Я новичок и многого просто не понимаю, прошу помощи разобраться в том как получить селектор, если id элемента меняется при обновлении страницы
Я попыталась найти через cssSelector, className, linkText, xpath но не получилось, вылетает с ошибкой, что элемент не кликабельный.
Вот разметка в инспекторе объектов.
если текст локатора уникален, то лучше искать по //td[contains(text(), 'Создать платеж или перевод')]
поскольку частенько перед началом и концом пробелы впихуют
Еще бы увидеть пару-тройку строчек кода ниже того что на скриншоте. Но что-то мне подсказывает (и судя по описаной вами ошибке), что кликать надо не в ячейку таблицы. Эта яйчейка - просто графическое представление. А вот сам активный\кликабельный элементы - это ссылка в которую эта табличка обернута. Так что в нее скорей всего и надо кликать.
Спасибо всем огромное!
Я взяла второй способ и мне помогло:
//td[contains(text(), ‘Создать платеж или перевод’)]
В паре с командой:
Thread.sleep(500);
Использовала её так как кнопка не нажималась , вылетала ошибка , что какой-то <block…> мешает. Но сейчас все нажимается . Знаю , что эту команду не используют в серьёзных проектах , но через driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS) и подобные, элемент не кликался. Извините, что поздно ответила
Thread.sleep(500) не рекомендуется использовать вообще нигде.
Рискну предположить что не кликалось как раз по причине, которую описал Yevgen Penziienko и кликать нужно не в ячейку таблицы а по ссылке, в которую она обернута