問題タブ [chrome-devtools-protocol]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
340 参照

puppeteer - Page.createIsolatedWorld grantUniveralAccess フラグはユニバーサル アクセスを許可しません

を使用してクロスオリジン iframe の contentDocument にアクセスしようとしていますRuntime.evaluate。ドキュメントを理解している限り、+ [1]executionContextを使用してユニバーサルアクセスを作成し、返されたをasに渡すことでこれが可能になるはずです。Page.createIsolatedWorldgrantUniveralAccess: trueexecutionContextIdRuntime.evaluatecontextId

何か案は?

chromium-browser --user-data-dir=/tmp/headless --remote-debugging-port=9000[2]で開始されたクロム プロセスがあるとします。

[1] フラグと同じ方法でクロスオリジン リソースにアクセスできるユニバーサル アクセスを期待していました。これにより、ユニバーサル アクセス--disable-web-securityが内部的に許可されます。

[2] デバッグを容易にするために head-full で実行します (たとえば、完全な cors エラーがコンソールに出力されるだけです) - with で実行しても機能し--headlessません。

[3]

[4] 正しいパラメータ名は grantUniveralAccess (no sin univeral) です。間違った型の値を渡すことで簡単に検証できます (bool が期待されます)。