Skip to content

Commit e544cd3

Browse files
committed
fix(bilibili): remove all elements except target
1 parent 1bf1e72 commit e544cd3

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

src/plugins/bilibili/plugins/dynamic/__init__.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -174,20 +174,27 @@ async def render_screenshot(dynamic: Dynamic) -> bytes:
174174
await page.wait_for_load_state("networkidle")
175175

176176
if "opus" in page.url:
177-
remove = ".opus-nav,.opus-float-btn,.openapp-dialog,.opus-read-more"
177+
remove = ".opus-read-more"
178178
target = ".opus-modules"
179179
await page.locator(".opus-module-content").evaluate(
180180
"e => e.classList.remove('limit')"
181181
)
182182
elif "dynamic" in page.url:
183-
remove = ".m-navbar,.dynamic-float-btn,.dyn-share"
183+
remove = ".dyn-share"
184184
target = ".dyn-card"
185+
await page.locator(".dyn-share").evaluate(
186+
"e => e.parentNode.removeChild(e)"
187+
)
185188
else:
186-
remove = ""
189+
remove = ":not(*)"
187190
target = "body"
188191

189-
await page.locator(remove).evaluate_all(
190-
"es => es.forEach(e => e.parentNode.removeChild(e))"
192+
await page.evaluate(
193+
f"""
194+
document
195+
.querySelectorAll('body :not({target}, :has({target}), {target} *), {remove}')
196+
.forEach(e => e.parentNode.removeChild(e))
197+
"""
191198
)
192199
screenshot = await page.locator(target).first.screenshot()
193200

0 commit comments

Comments
 (0)