Найти ссылку по href в селене python - PullRequest
2 голосов
/ 06 апреля 2020

Давайте рассмотрим пример spottily, потому что сейчас я слушаю musi c.

Я хотел бы получить текст, содержащийся в теге href, в следующем коде.

<a data-testid="nowplaying-track-link" href="/album/3xIwVbGJuAcovYIhzbLO3J">Toosie Slide</a>

Я хочу получить "/ album / 3xIwVbGJuAcovYIhzbLO3J" или, если это невозможно, получить "Toos ie Slide", чтобы сохранить его в переменной и сравнить с константой.

Сложность работы со Spotify (и многими другими сайтами) заключается в том, что этот тег href присутствует на веб-странице несколько раз. Поэтому я хотел бы получить только ссылку, содержащуюся в "nowplaying-track-link", которая является data-testid.

Там, я надеюсь, что все ясно.

PS: я уже знаю команды например: driver.find_element_by_xpath и др. c ... но я не могу использовать их в этом случае ...

1 Ответ

2 голосов
/ 06 апреля 2020

Я не уверен, что вы имеете в виду о командах типа и о невозможности их использования, но именно так вы получите информацию, которую ищете:

element = driver.find_element_by_css_selector('[data-testid="nowplaying-track-link"]')

href = element.get_attribute('href')

element_text = element.text

, если вы хотите собрать ссылку, вы можете сделать это следующим образом:

link = driver.current_url + href
...