Я занимаюсь веб-ломом с Selenium и Python. Я хочу получить информацию с какого-то веб-сайта, который не хочет легко предоставлять эти данные. Для предотвращения предоставления данных CSS селекторы и идентификаторы являются переменными. Когда я впервые загружаю страницу, некоторый элемент имеет id = "u_ps_fetchstream_2_0_5", когда в следующий раз то же поле имеет id = "u_ps_fetchstream_4_3_2". Идентификаторы также очень редко используются на этой странице. Поэтому получение некоторых данных с помощью find_element_by_id не вариант.
Итак, у меня возникла идея: я ищу некоторые данные XX на странице. Сначала я бы поискал текст «SAMPLE TEXT», который находится рядом с целевыми данными XX. Я бы сделал это с:
elementXX = driver.find_element_by_xpath("//*[contains(text(), 'SAMPLE TEXT')]")
Тогда я бы каким-то образом получил XPATH для elementXX и изменил бы его на целевые данные XX рядом с 'SAMPLE TEXT'. Я знаю, где данные XX относительно «ОБРАЗЕЦ ТЕКСТА».
Мои вопросы:
- Есть ли шанс, что это сработает? Возможно ли это?
- Как получить XPATH для elementXX?
- Что бы вы предложили, если бы ответ на вопрос 1. был Нет?
Спасибо.