универсальный xpath для сайта

есть на сайте бинанса ордера в разделе покупки/продажи, и там есть лимиты. минимум и максимум

необходимо парсить минимум и максимум у 10 ордеров (всего их на странцие)

xpath минимума 1-го ордера - /html/body/div[1]/div[2]/main/div[1]/div[4]/div/div[2]/div[1]/div[1]/div[3]/div/div[2]/div[2]/div[1]

xpath минимума 2-го ордера - /html/body/div[1]/div[2]/main/div[1]/div[4]/div/div[2]/div[2]/div[1]/div[3]/div/div[2]/div[2]/div[1]

какой xpath написать в методе selenium find_elements(By.XPATH), чтобы он получил все 10 минимумов ордеров?


Ответы (2 шт):

Автор решения: Oleg

Они одинаковые. Вы можете использовать не full XPath, а просто XPath. В любом случае find_elementS выведет список найденных объектов.

→ Ссылка
Автор решения: Kirill Bulyshkin

Метод find_elements возвращает массив, который содержит все элементы, удовлетворяющие условию поиска.

Однако, приведенные в вопросе xpath - плохая практика, они содержат явный путь через весь DOM, что:

  1. Плохо читаемо
  2. При любых изменениях в DOM веб-сайта придется обновлять xpath

Лучше использовать что-то наподобие:

driver.findElements(By.xpath("//div[contains(@class,'navbar')]"))

P.S. Если нужна помощь в написании xpath для вашего конкретного случая, прикрепите полный DOM

→ Ссылка