Как получить XPATH определенного элемента в DOM? - PullRequest
0 голосов
/ 02 мая 2020

Я занимаюсь веб-ломом с 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 относительно «ОБРАЗЕЦ ТЕКСТА».

Мои вопросы:

  1. Есть ли шанс, что это сработает? Возможно ли это?
  2. Как получить XPATH для elementXX?
  3. Что бы вы предложили, если бы ответ на вопрос 1. был Нет?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...