fix(plugins/music): apple tracklist (external redesign) (#955)
This commit is contained in:
@@ -104,14 +104,18 @@ export default async function({login, imports, data, q, account}, {enabled = fal
|
||||
//Apple music
|
||||
case "apple": {
|
||||
//Parse tracklist
|
||||
await frame.waitForSelector(".tracklist.playlist")
|
||||
await frame.waitForFunction(() => !!document.querySelector("embed-root").shadowRoot.querySelector(".audio-tracklist"))
|
||||
//Apple music do a lot of lazy-loading preventing the use of networkIdle
|
||||
await new Promise(solve => setTimeout(solve, 10*1000))
|
||||
tracks = [
|
||||
...await frame.evaluate(() => [...document.querySelectorAll(".tracklist li")].map(li => ({
|
||||
name:li.querySelector(".tracklist__track__name").innerText,
|
||||
artist:li.querySelector(".tracklist__track__sub").innerText,
|
||||
artwork:li.querySelector(".tracklist__track__artwork img").src,
|
||||
...await frame.evaluate(() => {
|
||||
const tracklist = document.querySelector("embed-root").shadowRoot.querySelector(".audio-tracklist")
|
||||
return [...tracklist.querySelectorAll("embed-audio-tracklist-item")].map(item => ({
|
||||
name:item.querySelector(".audio-tracklist-item__metadata h3").innerText,
|
||||
artist:item.querySelector(".audio-tracklist-item__metadata h4").innerText,
|
||||
artwork:item.querySelector("apple-music-artwork")?.shadowRoot?.querySelector("picture source")?.srcset?.split(",")?.[0]?.replace(/\s+\d+x$/, ""),
|
||||
}))
|
||||
),
|
||||
})
|
||||
]
|
||||
break
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user