Как правильно искать элемент таблицы на странице? ищу по XPATH

Иногда после перезагрузки страницы меняется место элемента списка таблицы.Пробовал ещё искать по link_text но тогда код не отрабатывает.
PKArhiv="//*[@id=‘r-state-structure’]/div[2]/div[17]/div[2]/div[2]/div[3]/table/tbody/tr/td"
wait_xpath(driver, PKArhiv)
click_xpath(driver, PKArhiv)–мой пример как я ищу элемент и кликаю по нему.

//*[@id='r-state-structure']//td[contains(text(), 'Архивный отдел Приморского края')]

4 лайка

Спасибо вам огромное вы очень мне помогли! По логике у вас проходит проверка, что в моей таблице"//[@id=“r-state-structure”]/div[2]/div[17]/div[2]/div[2]/div[12]/table/tbody/tr/td"
есть элемент с атрибутом text(), ‘Архивный отдел Приморского края’ при помощи функции contains().
Простите за наглость и если будет время и желание подскажите,как дальше провалится в этот элемент “услуга в этом ведомстве”?-
"//
[@id=‘content’]/div[2]/div[2]/div[2]/div[2]/div[1]/div/div/div/div[2]/div/div[1]/div[2]/a[1]"

Покажите DOM дерево, как Вам наугад дать верный ответ?
Если предположить, что такой объект уникален на данной странице, то xpath будет вот таким.
//*[@id='content']//a[contains(text(), 'Услуга в этом ведомстве')]
или еще короче
//a[contains(text(), 'Услуга в этом ведомстве')]

1 лайк

Здравствуйте,да такой XPATH уникален на страницу получается это и будет ответ. Благодарю вас благороднийший!)

На самом деле я затупил немного и дал не тот XPATH услуги в ведомстве)
//[@id=“r-state-structure”]/div[2]/div[17]/div[2]/div[2]/div[13]/table/tbody/tr/td-ведомтсво
//
[@id=“r-state-structure”]//a[contains(text()),‘Услуга в ведомстве’]-услуга в ведомстве
Для моего случая ответ таков