<p dir="auto"><strong>Context:</strong></p>
<ul dir="auto">
<li>Playwright CT Version: [1.26.1]</li>
<li>Operating System: [e.g. Mac]</li>
<li>Node.js version: [e.g. 16.15.0]</li>
<li>Browser: [tested in FF]</li>
</ul>


<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="const component = await mount(CustomSelect, {
	props: {
		prepare: (option) =&gt; option.label
	}
});"><pre class="notranslate"><span class="pl-k">const</span> <span class="pl-s1">component</span> <span class="pl-c1">=</span> <span class="pl-k">await</span> <span class="pl-en">mount</span><span class="pl-kos">(</span><span class="pl-smi">CustomSelect</span><span class="pl-kos">,</span> <span class="pl-kos">{</span>
	<span class="pl-c1">props</span>: <span class="pl-kos">{</span>
		<span class="pl-en">prepare</span>: <span class="pl-kos">(</span><span class="pl-s1">option</span><span class="pl-kos">)</span> <span class="pl-c1">=&gt;</span> <span class="pl-s1">option</span><span class="pl-kos">.</span><span class="pl-c1">label</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>Describe the bug</strong></p>
<p dir="auto">This issue has been discussed <a href="https://github.com/microsoft/playwright/issues/17254" data-hovercard-type="issue" data-hovercard-url="/microsoft/playwright/issues/17254/hovercard">here</a>, but it's quite blocking since the function output is crucial for the component itself.</p>
<p dir="auto">For <code class="notranslate">option</code> being <code class="notranslate">{id: 1, label: 'Foo'}</code> does not return <code class="notranslate">Foo</code>, is logged as <code class="notranslate">(...args) =&gt; { window['__ct_dispatch'](ordinal, args); }</code>, however returns <code class="notranslate">undefined</code> instead of an empty string in the above issue.</p>
<p dir="auto">If a viable workaround exists, it'd be great if someone could provide a minimum example, thank you.</p>
<h3 dir="auto">System info</h3>
<ul dir="auto">
<li>Playwright Version: 1.33.0</li>
<li>Operating System: Windows 11</li>
<li>Browser: Chromium</li>
<li>Other info:</li>
</ul>
<h3 dir="auto">Source code</h3>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I provided exact source code that allows reproducing the issue locally.</li>
</ul>




<p dir="auto"><strong>Steps</strong></p>
<ol dir="auto">
<li>Add Playwright to your .NET 6 project.</li>
<li>Run this code:</li>
</ol>
<div class="highlight highlight-source-cs notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="using Microsoft.Playwright;

using var playwright = await Playwright.CreateAsync();
await using var browser = await playwright.Chromium.LaunchAsync();"><pre class="notranslate"><span class="pl-k">using</span> Microsoft<span class="pl-kos">.</span>Playwright<span class="pl-kos">;</span>

<span class="pl-k">using</span> <span class="pl-smi">var</span> <span class="pl-s1">playwright</span> <span class="pl-c1">=</span> <span class="pl-k">await</span> Playwright<span class="pl-kos">.</span><span class="pl-en">CreateAsync</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-k">await</span> <span class="pl-k">using</span> <span class="pl-smi">var</span> <span class="pl-s1">browser</span> <span class="pl-c1">=</span> <span class="pl-k">await</span> playwright<span class="pl-kos">.</span>Chromium<span class="pl-kos">.</span><span class="pl-en">LaunchAsync</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<ol start="3" dir="auto">
<li>Open Terminal as an administrator at your project and run:</li>
</ol>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Set-ExecutionPolicy -ExecutionPolicy Bypass
powershell bin/Debug/net6.0/playwright.ps1 install"><pre class="notranslate"><code class="notranslate">Set-ExecutionPolicy -ExecutionPolicy Bypass
powershell bin/Debug/net6.0/playwright.ps1 install
</code></pre></div>
<p dir="auto"><strong>Expected</strong></p>
<p dir="auto">Should install browser</p>
<p dir="auto"><strong>Actual</strong></p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Downloading Chromium 113.0.5672.53 (playwright build v1060) from https://playwright.azureedge.net/builds/chromium/1060/chromium-win64.zip
113.5 Mb [=================== ] 97% 2.7sFailed to install browsers
Error: Failed to download Chromium 113.0.5672.53 (playwright build v1060), caused by
Error: end of central directory record signature not found
    at your-project\bin\Debug\net6.0\.playwright\package\lib\zipBundleImpl.js:1:24033
    at your-project\bin\Debug\net6.0\.playwright\package\lib\zipBundleImpl.js:1:31712
    at your-project\bin\Debug\net6.0\.playwright\package\lib\zipBundleImpl.js:1:17288
    at FSReqCallback.wrapper [as oncomplete] (node:fs:682:5)"><pre class="notranslate"><code class="notranslate">Downloading Chromium 113.0.5672.53 (playwright build v1060) from https://playwright.azureedge.net/builds/chromium/1060/chromium-win64.zip
113.5 Mb [=================== ] 97% 2.7sFailed to install browsers
Error: Failed to download Chromium 113.0.5672.53 (playwright build v1060), caused by
Error: end of central directory record signature not found
    at your-project\bin\Debug\net6.0\.playwright\package\lib\zipBundleImpl.js:1:24033
    at your-project\bin\Debug\net6.0\.playwright\package\lib\zipBundleImpl.js:1:31712
    at your-project\bin\Debug\net6.0\.playwright\package\lib\zipBundleImpl.js:1:17288
    at FSReqCallback.wrapper [as oncomplete] (node:fs:682:5)
</code></pre></div>