feat: add func to rm shadow selectors from workflow
This commit is contained in:
@@ -663,11 +663,28 @@ export default class Interpreter extends EventEmitter {
|
|||||||
if (isApplicable) {
|
if (isApplicable) {
|
||||||
return actionId;
|
return actionId;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private removeShadowSelectors(workflow: Workflow) {
|
||||||
|
for (let actionId = workflow.length - 1; actionId >= 0; actionId--) {
|
||||||
|
const step = workflow[actionId];
|
||||||
|
|
||||||
|
// Check if step has where and selectors
|
||||||
|
if (step.where && Array.isArray(step.where.selectors)) {
|
||||||
|
// Filter out selectors that contain ">>"
|
||||||
|
step.where.selectors = step.where.selectors.filter(selector => !selector.includes('>>'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return workflow;
|
||||||
}
|
}
|
||||||
|
|
||||||
private async runLoop(p: Page, workflow: Workflow) {
|
private async runLoop(p: Page, workflow: Workflow) {
|
||||||
const workflowCopy: Workflow = JSON.parse(JSON.stringify(workflow));
|
let workflowCopy: Workflow = JSON.parse(JSON.stringify(workflow));
|
||||||
|
|
||||||
|
// remove shadow selectors
|
||||||
|
workflowCopy = this.removeShadowSelectors(workflowCopy);
|
||||||
|
|
||||||
// apply ad-blocker to the current page
|
// apply ad-blocker to the current page
|
||||||
try {
|
try {
|
||||||
|
|||||||
Reference in New Issue
Block a user