<h3 dir="auto">System info</h3>
<ul dir="auto">
<li>Playwright Version: [v1.31.1]</li>
<li>Operating System: [All, Windows 11, Ubuntu 20, macOS 13.2, etc.]</li>
<li>Browser: [Chromium]</li>
<li>Other info: Element - scroll into view is always used, it should be</li>
</ul>
<p dir="auto"><strong>Expected</strong></p>
<p dir="auto">Screenshot of element - scroll into view is always used, so if you use hover the element, it scrolled and hover is sometimes lost (highcharts.js). It would be great to have options if you want scroll or not.  - There is a workaround to get screenshot of whole page and then crop it</p>
<p dir="auto"><strong>Actual</strong></p>
<p dir="auto">Scroll into view is always used and sometimes it is not requested behavior</p>
<h3 dir="auto">System info</h3>
<ul dir="auto">
<li>Playwright Version: [v1.35.0]</li>
<li>Operating System: [Windows 10 pro]</li>
<li>Browser: [Chromium (Edge)]</li>
<li>Other info: node 16.19</li>
</ul>
<h3 dir="auto">Source code</h3>
<ul dir="auto">
<li>[ X ] I provided exact source code that allows reproducing the issue locally.<br>
Seems not linked to particular test code</li>
</ul>




<p dir="auto"><strong>Config file</strong><br>
default config file with only edge activated</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="// playwright.config.ts
{
       name: 'Microsoft Edge',
       use: { ...devices['Desktop Edge'], channel: 'msedge' },
    }"><pre class="notranslate"><span class="pl-c">// playwright.config.ts</span>
<span class="pl-kos">{</span>
       <span class="pl-c1">name</span>: <span class="pl-s">'Microsoft Edge'</span><span class="pl-kos">,</span>
       <span class="pl-c1">use</span>: <span class="pl-kos">{</span> ...<span class="pl-s1">devices</span><span class="pl-kos">[</span><span class="pl-s">'Desktop Edge'</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-c1">channel</span>: <span class="pl-s">'msedge'</span> <span class="pl-kos">}</span><span class="pl-kos">,</span>
    <span class="pl-kos">}</span></pre></div>
<p dir="auto"><strong>Test file (self-contained)</strong><br>
The example.spec.js example file will do fine</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="test('has title', async ({ page }) =&gt; {
  await page.goto('https://playwright.dev/');

  // Expect a title &quot;to contain&quot; a substring.
  await expect(page).toHaveTitle(/Playwright/);
});"><pre class="notranslate"><span class="pl-en">test</span><span class="pl-kos">(</span><span class="pl-s">'has title'</span><span class="pl-kos">,</span> <span class="pl-k">async</span> <span class="pl-kos">(</span><span class="pl-kos">{</span> page <span class="pl-kos">}</span><span class="pl-kos">)</span> <span class="pl-c1">=&gt;</span> <span class="pl-kos">{</span>
  <span class="pl-k">await</span> <span class="pl-s1">page</span><span class="pl-kos">.</span><span class="pl-en">goto</span><span class="pl-kos">(</span><span class="pl-s">'https://playwright.dev/'</span><span class="pl-kos">)</span><span class="pl-kos">;</span>

  <span class="pl-c">// Expect a title "to contain" a substring.</span>
  <span class="pl-k">await</span> <span class="pl-en">expect</span><span class="pl-kos">(</span><span class="pl-s1">page</span><span class="pl-kos">)</span><span class="pl-kos">.</span><span class="pl-en">toHaveTitle</span><span class="pl-kos">(</span><span class="pl-pds"><span class="pl-c1">/</span>Playwright<span class="pl-c1">/</span></span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<p dir="auto"><strong>Steps</strong></p>
<ul dir="auto">
<li>npm playwright test --ui</li>
</ul>
<p dir="auto"><strong>Expected</strong></p>
<p dir="auto">The ui open up to launch the tests</p>
<p dir="auto"><strong>Actual</strong></p>
<p dir="auto">Error</p>
<p dir="auto"><code class="notranslate">Error: spawn UNKNOWN at ChildProcess.spawn (node:internal/child_process:420:11) at Object.spawn (node:child_process:733:9) at launchProcess ([Project path]\node_modules\playwright-core\lib\utils\processLauncher.js:94:39) at Chromium._launchProcess ([Project path]\node_modules\playwright-core\lib\server\browserType.js:179:50) at processTicksAndRejections (node:internal/process/task_queues:96:5) at Chromium._innerLaunch ([Project path]\node_modules\playwright-core\lib\server\browserType.js:103:9) at Chromium._innerLaunchWithRetries ([Project path]\node_modules\playwright-core\lib\server\browserType.js:84:14) at ProgressController.run ([Project path]\node_modules\playwright-core\lib\server\progress.js:92:22) at Chromium.launchPersistentContext ([Project path]\node_modules\playwright-core\lib\server\browserType.js:75:21) at openTraceViewerApp ([Project path]\node_modules\playwright-core\lib\server\trace\viewer\traceViewer.js:145:19) at showTraceViewer ([Project path]\node_modules\playwright-core\lib\server\trace\viewer\traceViewer.js:40:3) at UIMode.showUI ([Project path]\node_modules\@playwright\test\lib\runner\uiMode.js:125:5) at runUIMode ([Project path]\node_modules\@playwright\test\lib\runner\uiMode.js:222:3) at Runner.uiAllTests ([Project path]\node_modules\@playwright\test\lib\runner\runner.js:101:12) at runTests ([Project path]\node_modules\@playwright\test\lib\cli.js:129:55) at qr.&lt;anonymous&gt; ([Project path]\node_modules\@playwright\test\lib\cli.js:40:7) { errno: -4094, code: 'UNKNOWN', syscall: 'spawn' }</code></p>
<p dir="auto">Everything works fine with the following commands<br>
<code class="notranslate">npx playwright test npm playwright test --headed</code></p>