在 selenium python 中通过 href 找到一个 link

Find a link by href in selenium python

让我们以 spotify 为例,因为我现在正在用它听音乐。

我想在下面的代码中获取 href 标签中包含的文本。

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

我想要的是获取“/album/3xIwVbGJuAcovYIhzbLO3J”,或者如果这不可能,获取“Toosie Slide”以便将其存储在变量中以便与常量进行比较。

Spotify(以及许多其他网站)的困难在于此 href 标签在网页上多次出现。所以我只想得到 "nowplaying-track-link" 中包含的 link,它是 data-testid.

好了,希望我说清楚了。

PS:我已经知道像这样的命令:driver.find_element_by_xpath,等等...但是我不能在这种情况下使用它们...

我不确定您所说的类型命令和无法使用它们是什么意思,但这就是您获取所需信息的方式:

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

href = element.get_attribute('href')

element_text = element.text

如果你想把link放在一起,你可以这样做:

link = driver.current_url + href