Skip to content

Instantly share code, notes, and snippets.

@flashjames
Created April 17, 2020 12:48
Show Gist options
  • Save flashjames/8fb562f633f686cfa66f28de033d6c64 to your computer and use it in GitHub Desktop.
Save flashjames/8fb562f633f686cfa66f28de033d6c64 to your computer and use it in GitHub Desktop.
the end part
2020-04-17 14:39:49,179 — pyppeteer.connection.Connection — DEBUG — RECV: {"method":"Target.receivedMessageFromTarget","params":{"sessionId":"A4750CAF9264072094A18EB617084783","message":"{\"method\":\"Runtime.exceptionThrown\",\"params\":{\"timestamp\":1587127189175.594,\"exceptionDetails\":{\"exceptionId\":1,\"text\":\"Uncaught\",\"lineNumber\":0,\"columnNumber\":4105,\"url\":\"https://www.kids-world.com/public/js/productinfo.js\",\"stackTrace\":{\"callFrames\":[{\"functionName\":\"\",\"scriptId\":\"27\",\"url\":\"https://www.kids-world.com/public/js/productinfo.js\",\"lineNumber\":0,\"columnNumber\":4105},{\"functionName\":\"execCb\",\"scriptId\":\"23\",\"url\":\"https://www.kids-world.com/public/js/require.js\",\"lineNumber\":28,\"columnNumber\":298},{\"functionName\":\"check\",\"scriptId\":\"23\",\"url\":\"https://www.kids-world.com/public/js/require.js\",\"lineNumber\":17,\"columnNumber\":49},{\"functionName\":\"\",\"scriptId\":\"23\",\"url\":\"https://www.kids-world.com/public/js/require.js\",\"lineNumber\":21,\"columnNumber\":263},{\"functionName\":\"\",\"scriptId\":\"23\",\"url\":\"https://www.kids-world.com/public/js/require.js\",\"lineNumber\":6,\"columnNumber\":139},{\"functionName\":\"\",\"scriptId\":\"23\",\"url\":\"https://www.kids-world.com/public/js/require.js\",\"lineNumber\":22,\"columnNumber\":188},{\"functionName\":\"y\",\"scriptId\":\"23\",\"url\":\"https://www.kids-world.com/public/js/require.js\",\"lineNumber\":5,\"columnNumber\":206},{\"functionName\":\"emit\",\"scriptId\":\"23\",\"url\":\"https://www.kids-world.com/public/js/require.js\",\"lineNumber\":22,\"columnNumber\":159},{\"functionName\":\"check\",\"scriptId\":\"23\",\"url\":\"https://www.kids-world.com/public/js/require.js\",\"lineNumber\":18,\"columnNumber\":96},{\"functionName\":\"\",\"scriptId\":\"23\",\"url\":\"https://www.kids-world.com/public/js/require.js\",\"lineNumber\":21,\"columnNumber\":263},{\"functionName\":\"\",\"scriptId\":\"23\",\"url\":\"https://www.kids-world.com/public/js/require.js\",\"lineNumber\":6,\"columnNumber\":139},{\"functionName\":\"\",\"scriptId\":\"23\",\"url\":\"https://www.kids-world.com/public/js/require.js\",\"lineNumber\":22,\"columnNumber\":188},{\"functionName\":\"y\",\"scriptId\":\"23\",\"url\":\"https://www.kids-world.com/public/js/require.js\",\"lineNumber\":5,\"columnNumber\":206},{\"functionName\":\"emit\",\"scriptId\":\"23\",\"url\":\"https://www.kids-world.com/public/js/require.js\",\"lineNumber\":22,\"columnNumber\":159},{\"functionName\":\"check\",\"scriptId\":\"23\",\"url\":\"https://www.kids-world.com/public/js/require.js\",\"lineNumber\":18,\"columnNumber\":96},{\"functionName\":\"\",\"scriptId\":\"23\",\"url\":\"https://www.kids-world.com/public/js/require.js\",\"lineNumber\":21,\"columnNumber\":263},{\"functionName\":\"\",\"scriptId\":\"23\",\"url\":\"https://www.kids-world.com/public/js/require.js\",\"lineNumber\":6,\"columnNumber\":139},{\"functionName\":\"\",\"scriptId\":\"23\",\"url\":\"https://www.kids-world.com/public/js/require.js\",\"lineNumber\":22,\"columnNumber\":188},{\"functionName\":\"y\",\"scriptId\":\"23\",\"url\":\"https://www.kids-world.com/public/js/require.js\",\"lineNumber\":5,\"columnNumber\":206},{\"functionName\":\"emit\",\"scriptId\":\"23\",\"url\":\"https://www.kids-world.com/public/js/require.js\",\"lineNumber\":22,\"columnNumber\":159},{\"functionName\":\"check\",\"scriptId\":\"23\",\"url\":\"https://www.kids-world.com/public/js/require.js\",\"lineNumber\":18,\"columnNumber\":96},{\"functionName\":\"enable\",\"scriptId\":\"23\",\"url\":\"https://www.kids-world.com/public/js/require.js\",\"lineNumber\":22,\"columnNumber\":57},{\"functionName\":\"init\",\"scriptId\":\"23\",\"url\":\"https://www.kids-world.com/public/js/require.js\",\"lineNumber\":15,\"columnNumber\":153},{\"functionName\":\"I\",\"scriptId\":\"23\",\"url\":\"https://www.kids-world.com/public/js/require.js\",\"lineNumber\":12,\"columnNumber\":287},{\"functionName\":\"completeLoad\",\"scriptId\":\"23\",\"url\":\"https://www.kids-world.com/public/js/require.js\",\"lineNumber\":27,\"columnNumber\":92},{\"functionName\":\"onScriptLoad\",\"scriptId\":\"23\",\"url\":\"https://www.kids-world.com/public/js/require.js\",\"lineNumber\":28,\"columnNumber\":423}]},\"exception\":{\"type\":\"object\",\"subtype\":\"error\",\"className\":\"TypeError\",\"description\":\"TypeError: Cannot read property 'addEventListener' of null\\n at https://www.kids-world.com/public/js/productinfo.js:1:4106\\n at Object.execCb (https://www.kids-world.com/public/js/require.js:29:299)\\n at da.check (https://www.kids-world.com/public/js/require.js:18:50)\\n at da.<anonymous> (https://www.kids-world.com/public/js/require.js:22:264)\\n at https://www.kids-world.com/public/js/require.js:7:140\\n at https://www.kids-world.com/public/js/require.js:23:189\\n at y (https://www.kids-world.com/public/js/require.js:6:207)\\n at da.emit (https://www.kids-world.com/public/js/require.js:23:160)\\n at da.check (https://www.kids-world.com/public/js/require.js:19:97)\\n at da.<anonymous> (https://www.kids-world.com/public/js/require.js:22:264)\",\"objectId\":\"{\\\"injectedScriptId\\\":2,\\\"id\\\":1}\",\"preview\":{\"type\":\"object\",\"subtype\":\"error\",\"description\":\"TypeError: Cannot read property 'addEventListener' of null\\n at https://www.kids-world.com/public/js/productinfo.js:1:4106\\n at Object.execCb (https://www.kids-world.com/public/js/require.js:29:299)\\n at da.check (https://www.kids-world.com/public/js/require.js:18:50)\\n at da.<anonymous> (https://www.kids-world.com/public/js/require.js:22:264)\\n at https://www.kids-world.com/public/js/require.js:7:140\\n at https://www.kids-world.com/public/js/require.js:23:189\\n at y (https://www.kids-world.com/public/js/require.js:6:207)\\n at da.emit (https://www.kids-world.com/public/js/require.js:23:160)\\n at da.check (https://www.kids-world.com/public/js/require.js:19:97)\\n at da.<anonymous> (https://www.kids-world.com/public/js/require.js:22:264)\",\"overflow\":false,\"properties\":[{\"name\":\"stack\",\"type\":\"string\",\"value\":\"TypeError: Cannot read property 'addEventListener'\\u2026//www.kids-world.com/public/js/require.js:22:264)\"},{\"name\":\"message\",\"type\":\"string\",\"value\":\"Cannot read property 'addEventListener' of null\"}]}},\"executionContextId\":2}}}","targetId":"4777253A334F51972275A3EA3BEF8173"}}
2020-04-17 14:39:49,179 — pyppeteer.connection.CDPSession — DEBUG — RECV: {"method":"Runtime.exceptionThrown","params":{"timestamp":1587127189175.594,"exceptionDetails":{"exceptionId":1,"text":"Uncaught","lineNumber":0,"columnNumber":4105,"url":"https://www.kids-world.com/public/js/productinfo.js","stackTrace":{"callFrames":[{"functionName":"","scriptId":"27","url":"https://www.kids-world.com/public/js/productinfo.js","lineNumber":0,"columnNumber":4105},{"functionName":"execCb","scriptId":"23","url":"https://www.kids-world.com/public/js/require.js","lineNumber":28,"columnNumber":298},{"functionName":"check","scriptId":"23","url":"https://www.kids-world.com/public/js/require.js","lineNumber":17,"columnNumber":49},{"functionName":"","scriptId":"23","url":"https://www.kids-world.com/public/js/require.js","lineNumber":21,"columnNumber":263},{"functionName":"","scriptId":"23","url":"https://www.kids-world.com/public/js/require.js","lineNumber":6,"columnNumber":139},{"functionName":"","scriptId":"23","url":"https://www.kids-world.com/public/js/require.js","lineNumber":22,"columnNumber":188},{"functionName":"y","scriptId":"23","url":"https://www.kids-world.com/public/js/require.js","lineNumber":5,"columnNumber":206},{"functionName":"emit","scriptId":"23","url":"https://www.kids-world.com/public/js/require.js","lineNumber":22,"columnNumber":159},{"functionName":"check","scriptId":"23","url":"https://www.kids-world.com/public/js/require.js","lineNumber":18,"columnNumber":96},{"functionName":"","scriptId":"23","url":"https://www.kids-world.com/public/js/require.js","lineNumber":21,"columnNumber":263},{"functionName":"","scriptId":"23","url":"https://www.kids-world.com/public/js/require.js","lineNumber":6,"columnNumber":139},{"functionName":"","scriptId":"23","url":"https://www.kids-world.com/public/js/require.js","lineNumber":22,"columnNumber":188},{"functionName":"y","scriptId":"23","url":"https://www.kids-world.com/public/js/require.js","lineNumber":5,"columnNumber":206},{"functionName":"emit","scriptId":"23","url":"https://www.kids-world.com/public/js/require.js","lineNumber":22,"columnNumber":159},{"functionName":"check","scriptId":"23","url":"https://www.kids-world.com/public/js/require.js","lineNumber":18,"columnNumber":96},{"functionName":"","scriptId":"23","url":"https://www.kids-world.com/public/js/require.js","lineNumber":21,"columnNumber":263},{"functionName":"","scriptId":"23","url":"https://www.kids-world.com/public/js/require.js","lineNumber":6,"columnNumber":139},{"functionName":"","scriptId":"23","url":"https://www.kids-world.com/public/js/require.js","lineNumber":22,"columnNumber":188},{"functionName":"y","scriptId":"23","url":"https://www.kids-world.com/public/js/require.js","lineNumber":5,"columnNumber":206},{"functionName":"emit","scriptId":"23","url":"https://www.kids-world.com/public/js/require.js","lineNumber":22,"columnNumber":159},{"functionName":"check","scriptId":"23","url":"https://www.kids-world.com/public/js/require.js","lineNumber":18,"columnNumber":96},{"functionName":"enable","scriptId":"23","url":"https://www.kids-world.com/public/js/require.js","lineNumber":22,"columnNumber":57},{"functionName":"init","scriptId":"23","url":"https://www.kids-world.com/public/js/require.js","lineNumber":15,"columnNumber":153},{"functionName":"I","scriptId":"23","url":"https://www.kids-world.com/public/js/require.js","lineNumber":12,"columnNumber":287},{"functionName":"completeLoad","scriptId":"23","url":"https://www.kids-world.com/public/js/require.js","lineNumber":27,"columnNumber":92},{"functionName":"onScriptLoad","scriptId":"23","url":"https://www.kids-world.com/public/js/require.js","lineNumber":28,"columnNumber":423}]},"exception":{"type":"object","subtype":"error","className":"TypeError","description":"TypeError: Cannot read property 'addEventListener' of null\n at https://www.kids-world.com/public/js/productinfo.js:1:4106\n at Object.execCb (https://www.kids-world.com/public/js/require.js:29:299)\n at da.check (https://www.kids-world.com/public/js/require.js:18:50)\n at da.<anonymous> (https://www.kids-world.com/public/js/require.js:22:264)\n at https://www.kids-world.com/public/js/require.js:7:140\n at https://www.kids-world.com/public/js/require.js:23:189\n at y (https://www.kids-world.com/public/js/require.js:6:207)\n at da.emit (https://www.kids-world.com/public/js/require.js:23:160)\n at da.check (https://www.kids-world.com/public/js/require.js:19:97)\n at da.<anonymous> (https://www.kids-world.com/public/js/require.js:22:264)","objectId":"{\"injectedScriptId\":2,\"id\":1}","preview":{"type":"object","subtype":"error","description":"TypeError: Cannot read property 'addEventListener' of null\n at https://www.kids-world.com/public/js/productinfo.js:1:4106\n at Object.execCb (https://www.kids-world.com/public/js/require.js:29:299)\n at da.check (https://www.kids-world.com/public/js/require.js:18:50)\n at da.<anonymous> (https://www.kids-world.com/public/js/require.js:22:264)\n at https://www.kids-world.com/public/js/require.js:7:140\n at https://www.kids-world.com/public/js/require.js:23:189\n at y (https://www.kids-world.com/public/js/require.js:6:207)\n at da.emit (https://www.kids-world.com/public/js/require.js:23:160)\n at da.check (https://www.kids-world.com/public/js/require.js:19:97)\n at da.<anonymous> (https://www.kids-world.com/public/js/require.js:22:264)","overflow":false,"properties":[{"name":"stack","type":"string","value":"TypeError: Cannot read property 'addEventListener'\u2026//www.kids-world.com/public/js/require.js:22:264)"},{"name":"message","type":"string","value":"Cannot read property 'addEventListener' of null"}]}},"executionContextId":2}}}
2020-04-17 14:39:56,156 — pyppeteer.connection.CDPSession — DEBUG — SEND: {"id": 16, "method": "Runtime.callFunctionOn", "params": {"functionDeclaration": "(xpath, url) => {\n class Tools {\n getArray(nodes) {\n let arr = [];\n let node = null;\n while((node = nodes.iterateNext())) {\n arr.push(node);\n }\n return arr;\n\n };\n\n fullXpath(el) {\n if (typeof el == \"string\") return document.evaluate(el, document, null, 0, null);\n if (!el || el.nodeType != 1) return ''\n if (el.id) return \"//*[@id='\" + el.id + \"']\";\n var sames = [].filter.call(el.parentNode.children, function (x) { return x.tagName == el.tagName });\n return this.fullXpath(el.parentNode) + '/' + el.tagName.toLowerCase() + (sames.length > 1 ? '['+([].indexOf.call(sames, el)+1)+']' : '');\n }\n\n\n xpath(xpath) {\n var result = document.evaluate(xpath, document, null, XPathResult.ANY_TYPE, null );\n let array = this.getArray(result);\n if(array.length == 1) {\n return array[0];\n }\n return array;\n\n\n };\n\n xpathRelative(xpath, element) {\n var result = document.evaluate(xpath, element, null, XPathResult.ANY_TYPE, null );\n let array = this.getArray(result);\n if(array.length == 1) {\n return array[0];\n }\n return array;\n };\n\n\n}\n\nlet tools = new Tools();\n\n\n let getBackroundImages = (url) => {\n let divs = tools.xpath(\"//div\");\n let url_last = url.split(\"/\").slice(-1)[0];\n \n for(let div of divs) {\n try {\n\tlet bg = div.style.backgroundImage;\n\tlet bg_last = bg.split(\"/\").slice(-1)[0];\n\n\tif(bg_last.includes(url_last)) {\n\n\t return div;\n\t}\n } catch(e) {\n\tcontinue;\n }\n }\n return undefined;\n };\n \n console.log(111);\n let levels = {};\n let element = tools.xpath(xpath);\n if(element === undefined || element.length == 0) {\n element = getBackroundImages(\"https://www.kids-world.com/images/originals/JT080.jpg\");\n if(element === undefined || element.length == 0) {\n throw new Error(\"Couldn't find element for largest image with url: \" + xpath);\n }\n \n }\n\n levels[0] = [element.className, element.id];\n element = element.parentElement;\n levels[1] = [element.className, element.id];\n element = element.parentElement;\n levels[2] = [element.className, element.id];\n\n return levels;\n}\n\n//# sourceURL=__pyppeteer_evaluation_script__\n", "executionContextId": 2, "arguments": [{"value": "//*[@*='https://www.kids-world.com/public/themes/default/swedish/images/signup-footer.jpg']"}], "returnByValue": false, "awaitPromise": true, "userGesture": true}}
2020-04-17 14:39:56,156 — pyppeteer.connection.Connection — DEBUG — SEND: {"id": 19, "method": "Target.sendMessageToTarget", "params": {"sessionId": "A4750CAF9264072094A18EB617084783", "message": "{\"id\": 16, \"method\": \"Runtime.callFunctionOn\", \"params\": {\"functionDeclaration\": \"(xpath, url) => {\\n class Tools {\\n getArray(nodes) {\\n let arr = [];\\n let node = null;\\n while((node = nodes.iterateNext())) {\\n arr.push(node);\\n }\\n return arr;\\n\\n };\\n\\n fullXpath(el) {\\n if (typeof el == \\\"string\\\") return document.evaluate(el, document, null, 0, null);\\n if (!el || el.nodeType != 1) return ''\\n if (el.id) return \\\"//*[@id='\\\" + el.id + \\\"']\\\";\\n var sames = [].filter.call(el.parentNode.children, function (x) { return x.tagName == el.tagName });\\n return this.fullXpath(el.parentNode) + '/' + el.tagName.toLowerCase() + (sames.length > 1 ? '['+([].indexOf.call(sames, el)+1)+']' : '');\\n }\\n\\n\\n xpath(xpath) {\\n var result = document.evaluate(xpath, document, null, XPathResult.ANY_TYPE, null );\\n let array = this.getArray(result);\\n if(array.length == 1) {\\n return array[0];\\n }\\n return array;\\n\\n\\n };\\n\\n xpathRelative(xpath, element) {\\n var result = document.evaluate(xpath, element, null, XPathResult.ANY_TYPE, null );\\n let array = this.getArray(result);\\n if(array.length == 1) {\\n return array[0];\\n }\\n return array;\\n };\\n\\n\\n}\\n\\nlet tools = new Tools();\\n\\n\\n let getBackroundImages = (url) => {\\n let divs = tools.xpath(\\\"//div\\\");\\n let url_last = url.split(\\\"/\\\").slice(-1)[0];\\n \\n for(let div of divs) {\\n try {\\n\\tlet bg = div.style.backgroundImage;\\n\\tlet bg_last = bg.split(\\\"/\\\").slice(-1)[0];\\n\\n\\tif(bg_last.includes(url_last)) {\\n\\n\\t return div;\\n\\t}\\n } catch(e) {\\n\\tcontinue;\\n }\\n }\\n return undefined;\\n };\\n \\n console.log(111);\\n let levels = {};\\n let element = tools.xpath(xpath);\\n if(element === undefined || element.length == 0) {\\n element = getBackroundImages(\\\"https://www.kids-world.com/images/originals/JT080.jpg\\\");\\n if(element === undefined || element.length == 0) {\\n throw new Error(\\\"Couldn't find element for largest image with url: \\\" + xpath);\\n }\\n \\n }\\n\\n levels[0] = [element.className, element.id];\\n element = element.parentElement;\\n levels[1] = [element.className, element.id];\\n element = element.parentElement;\\n levels[2] = [element.className, element.id];\\n\\n return levels;\\n}\\n\\n//# sourceURL=__pyppeteer_evaluation_script__\\n\", \"executionContextId\": 2, \"arguments\": [{\"value\": \"//*[@*='https://www.kids-world.com/public/themes/default/swedish/images/signup-footer.jpg']\"}], \"returnByValue\": false, \"awaitPromise\": true, \"userGesture\": true}}"}}
2020-04-17 14:39:56,157 — pyppeteer.connection — ERROR — connection unexpectedly closed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment