I have a chrome extension and some JavaScript I am trying to inject into a React page that edits some react nodes. It works when pasted in through the developer console, but not when using chrome.tabs.executeScript
Here's the script being injected:
etInterval(function() {
let answerKeyZoom = Object.values(document.querySelector('#app > div > div'))[1].children[1]._owner.stateNode.state.question.answers;
Object.values(document.querySelector('#app > div > div'))[1].children[1]._owner.stateNode.state.question.correctAnswers = answerKeyZoom;
}, 10);
And here's the thing executing it:
chrome.tabs.executeScript({
code: `
(function(){
window.nullbyteCheckedArg1 = ${nullbyteCheckedArg1};
window.nullbyteCheckedArg2 = ${nullbyteCheckedArg2};
window.nullbyteCheckedArg3 = ${nullbyteCheckedArg3};
window.nullbyteCheckedArg4 = ${nullbyteCheckedArg4};
window.nullbyteCheckedArg5 = ${nullbyteCheckedArg5};
window.nullbyteSliderArg1 = ${nullbyteSliderArg1};
window.nullbyteSliderArg2 = ${nullbyteSliderArg2};
window.nullbyteSliderArg3 = ${nullbyteSliderArg3};
window.nullbyteSliderArg4 = ${nullbyteSliderArg4};
window.nullbyteSliderArg5 = ${nullbyteSliderArg5};
${getscript.responseText}
})();
`,
allFrames: true
});
The error when run via extension
caught TypeError: Cannot read properties of undefined (reading 'children') at <anonymous>:15:130 (
I've tried countless things but nothing seems to work
Tried putting it in an IIFE but still no luck