универсальный 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 шт):
Они одинаковые. Вы можете использовать не full XPath, а просто XPath. В любом случае find_elementS выведет список найденных объектов.
Метод find_elements возвращает массив, который содержит все элементы, удовлетворяющие условию поиска.
Однако, приведенные в вопросе xpath - плохая практика, они содержат явный путь через весь DOM, что:
- Плохо читаемо
- При любых изменениях в DOM веб-сайта придется обновлять xpath
Лучше использовать что-то наподобие:
driver.findElements(By.xpath("//div[contains(@class,'navbar')]"))
P.S. Если нужна помощь в написании xpath для вашего конкретного случая, прикрепите полный DOM