Filter Advs

This commit is contained in:
johnathan 2025-05-19 17:29:50 +08:00
parent a47156daf3
commit 6662bba2b1

View File

@ -95,6 +95,7 @@ export class AmazonSearchPageInjector {
default: default:
break; break;
} }
data = data && data.filter((r) => new URL(r.link).pathname.includes('/dp/'));
return data; return data;
} }
@ -241,7 +242,7 @@ export class AmazonDetailPageInjector {
}); });
} }
public async getReviews() { public async getTopReviews() {
return exec<Omit<AmazonReview, 'asin'>[]>(this._tab.id!, async () => { return exec<Omit<AmazonReview, 'asin'>[]>(this._tab.id!, async () => {
const targetNode = document.querySelector<HTMLDivElement>('.cr-widget-FocalReviews'); const targetNode = document.querySelector<HTMLDivElement>('.cr-widget-FocalReviews');
if (!targetNode) { if (!targetNode) {
@ -252,7 +253,7 @@ export class AmazonDetailPageInjector {
await new Promise((resolve) => setTimeout(resolve, 1000)); await new Promise((resolve) => setTimeout(resolve, 1000));
} }
const xResult = document.evaluate( const xResult = document.evaluate(
`//div[contains(@id, 'review-card')]`, `.//div[contains(@id, 'review-card')]`,
targetNode, targetNode,
null, null,
XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
@ -265,7 +266,7 @@ export class AmazonDetailPageInjector {
} }
const username = commentNode.querySelector<HTMLDivElement>('.a-profile-name')!.innerText; const username = commentNode.querySelector<HTMLDivElement>('.a-profile-name')!.innerText;
const title = commentNode.querySelector<HTMLDivElement>( const title = commentNode.querySelector<HTMLDivElement>(
'a[data-hook="review-title"] > span:not(.a-letter-space)', '[data-hook="review-title"] > span:not(.a-letter-space)',
)!.innerText; )!.innerText;
const rating = commentNode.querySelector<HTMLDivElement>( const rating = commentNode.querySelector<HTMLDivElement>(
'[data-hook="review-star-rating"]', '[data-hook="review-star-rating"]',