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
|
//Apple music
|
||||||
case "apple": {
|
case "apple": {
|
||||||
//Parse tracklist
|
//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 = [
|
tracks = [
|
||||||
...await frame.evaluate(() => [...document.querySelectorAll(".tracklist li")].map(li => ({
|
...await frame.evaluate(() => {
|
||||||
name:li.querySelector(".tracklist__track__name").innerText,
|
const tracklist = document.querySelector("embed-root").shadowRoot.querySelector(".audio-tracklist")
|
||||||
artist:li.querySelector(".tracklist__track__sub").innerText,
|
return [...tracklist.querySelectorAll("embed-audio-tracklist-item")].map(item => ({
|
||||||
artwork:li.querySelector(".tracklist__track__artwork img").src,
|
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
|
break
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user