Issue 1:
System info

Playwright Version: [v1.30.0, 1.30.1, 1.32.0]

Operating System: [Windows 10, CentOS 8]

Browser: [Firefox]

Other info:

Starting with version 1.30.0, when viewportsize is larger than the physical dimensions of a computer display, visual elements are active, available, stable, but it is not possible to perform clicks. In version 1.29.0 everything works good.

In my Linux system display resolution is 1280x666.

Note: This code works correctly in headless mode.

Source code

using Microsoft.Playwright;

bool headless = false;
if (!string.IsNullOrEmpty(args[0]) && args[0] == "-headless")
{
headless = true;
}

Console.WriteLine("Started.");

var playwright = await Playwright.CreateAsync();
IBrowserType browsertype = playwright.Firefox;

Proxy proxy = new()
{
Server = "111.222.333.444:5555",
Username = "username",
Password = "password",
};
List<string> listArgs = new()
{
"--start-maximized",
};

var launchOptions = new BrowserTypeLaunchOptions()
{
Headless = headless,
Proxy = proxy,
Args = listArgs,
};
var browser = await browsertype.LaunchAsync(launchOptions);

var contextOptions = new BrowserNewContextOptions
{
ViewportSize = new() { Width = 1920, Height = 1080 },
};
var context = await browser.NewContextAsync(contextOptions);
var page = await context.NewPageAsync();

await page.GotoAsync("https://twitter.com/", new() { WaitUntil = WaitUntilState.Load });

var locator = page.FrameLocator("//iframe[@title='Sign in with Google Dialog']").Locator("//div[@id='close']");
try
{
Console.WriteLine("Clicking: Close Google Dialog");
await locator.ClickAsync();
}
catch (Exception ex)
{
Console.WriteLine($"Error:\n{ex.Message}\n{ex.StackTrace}");
}

locator = page.Locator("//a[@data-testid='login']").Locator("visible=true");
try
{
await locator.WaitForAsync(new LocatorWaitForOptions() { State = WaitForSelectorState.Visible });
}
catch (Exception ex)
{
Console.WriteLine($"Error:\n{ex.Message}\n{ex.StackTrace}");
}

try
{
Console.WriteLine("Clicking: Sign in");
await locator.ClickAsync(new LocatorClickOptions() { Timeout = 10000 });
}
catch (Exception ex)
{
Console.WriteLine($"Error:\n{ex.Message}\n{ex.StackTrace}");
}

Console.WriteLine("Finished. Press any key.");
Console.ReadKey();

Config file

<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DebugType>embedded</DebugType>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<DebugType>embedded</DebugType>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Playwright" Version="1.32.0" />
</ItemGroup>

</Project>

Steps

Run the app

Expected

Started.
Clicking: Close Google Dialog
Clicking: Sign in
Finished. Press any key.

Actual

Started.
Clicking: Close Google Dialog
Error:
Timeout 30000ms exceeded.
=========================== logs ===========================
waiting for FrameLocator("xpath=//iframe[@title='Sign in with Google Dialog']").Locator("xpath=//div[@id='close']")
locator resolved to <div id="close" tabindex="0" role="button" aria-label…>…</div>
attempting click action
waiting for element to be visible, enabled and stable
element is visible, enabled and stable
scrolling into view if needed
done scrolling
performing click action
============================================================
at Microsoft.Playwright.Transport.Connection.InnerSendMessageToServerAsync[T](String guid, String method, Dictionary`2 dictionary) in /_/src/Playwright/Transport/Connection.cs:line 180
at Microsoft.Playwright.Transport.Connection.WrapApiCallAsync[T](Func`1 action, Boolean isInternal) in /_/src/Playwright/Transport/Connection.cs:line 502
at Program.<Main>$(String[] args) in D:\source\repos\XTestPW\XTestPW\Program.cs:line 47
Clicking: Sign in
Error:
Timeout 10000ms exceeded.
=========================== logs ===========================
waiting for Locator("xpath=//a[@data-testid='login']").Locator("visible=true")
locator resolved to <a role="link" href="/login" data-testid="login" cl…>…</a>
attempting click action
waiting for element to be visible, enabled and stable
element is visible, enabled and stable
scrolling into view if needed
done scrolling
performing click action
============================================================
at Microsoft.Playwright.Transport.Connection.InnerSendMessageToServerAsync[T](String guid, String method, Dictionary`2 dictionary) in /_/src/Playwright/Transport/Connection.cs:line 180
at Microsoft.Playwright.Transport.Connection.WrapApiCallAsync[T](Func`1 action, Boolean isInternal) in /_/src/Playwright/Transport/Connection.cs:line 502
at Program.<Main>$(String[] args) in D:\source\repos\XTestPW\XTestPW\Program.cs:line 67
Finished. Press any key.

Also please note the following errors:

at Microsoft.Playwright.Transport.Connection.InnerSendMessageToServerAsync[T](String guid, String method, Dictionary`2 dictionary) in /_/src/Playwright/Transport/Connection.cs:line 202
at Microsoft.Playwright.Transport.Connection.WrapApiCallAsync[T](Func`1 action, Boolean isInternal) in /_/src/Playwright/Transport/Connection.cs:line 508

Thank you

Issue 2:
System info

Playwright Version: [v1.35]

Operating System: [All]

Browser: [WebKit]

Other info:

Source code

Link to the GitHub repository with the repro

https://github.com/VeronikaHillebrand/bug-report-playwright-webkit

As you can see, Chromium and Firefox tests pass, Webkit fails:

https://github.com/VeronikaHillebrand/bug-report-playwright-webkit/actions/runs/5401042799/jobs/9810308767

The last version of Playwright which worked correctly was 1.34

The error showing in the console is "TypeError: Attempting to define property on object that is not extensible."

PS: The app works fine in Safari.