You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何禁用登录表单邮箱自动提示及修复密码字段多查看图标异常?

WebView2 两个未解决问题求助

问题1:禁用邮箱自动提示

需要了解如何配置以禁用登录页面邮箱输入框的自动提示功能,截图显示登录页面的邮箱输入框存在自动提示下拉列表。

问题2:密码字段多查看图标异常

  • 第一个图标:点击输入框外部(失焦)后再聚焦输入框,该图标会被禁用;
  • 第二个图标:仅能使用一次,点击显示密码后图标即被禁用,需失焦再聚焦输入框才能恢复可用状态,截图显示密码输入框有两个查看密码的图标。

使用的包版本

Microsoft.Web.WebView2 - 1.0.1293.44

已尝试的配置代码

public class WinFormsWebView : IBrowser
{
    private readonly Func<Form> _formFactory;
    private BrowserOptions _options;

    public WinFormsWebView(Func<Form> formFactory)
    {
        _formFactory = formFactory;
    }

    public WinFormsWebView(string title = "Login", int width = 1024, int height = 768)
        : this(() => new Form
        {
            Name = "Login",
            Text = title,
            Width = width,
            Height = height
        })
    { }

    public async Task<BrowserResult> InvokeAsync(BrowserOptions options, CancellationToken token = default)
    {
        _options = options;

        using (var form = _formFactory.Invoke())
        {
            using (var webView = new WebView2()
            {
                Dock = DockStyle.Fill
            })
            {
                var signal = new SemaphoreSlim(0, 1);

                var browserResult = new BrowserResult
                {
                    ResultType = BrowserResultType.UserCancel
                };

                form.FormClosed += (o, e) =>
                {
                    signal.Release();
                };

                webView.NavigationStarting += (s, e) =>
                {
                    if (IsBrowserNavigatingToRedirectUri(new Uri(e.Uri)))
                    {
                        e.Cancel = true;

                        browserResult = new BrowserResult()
                        {
                            ResultType = BrowserResultType.Success,
                            Response = new Uri(e.Uri).AbsoluteUri
                        };

                        signal.Release();
                        form.Close();
                    }
                };

                try
                {
                    form.Controls.Add(webView);
                    webView.Show();

                    form.Show();

                    var webView2Environment = await CoreWebView2Environment.CreateAsync(null, @"C:\temp");

                    // Initialization
                    await webView.EnsureCoreWebView2Async(webView2Environment);

                    // Delete existing Cookies so previous logins won't remembered
                    webView.CoreWebView2.CookieManager.DeleteAllCookies();

                    webView.CoreWebView2.Settings.IsPasswordAutosaveEnabled = false;
                    webView.CoreWebView2.Settings.IsGeneralAutofillEnabled = false;

                    // Navigate
                    webView.CoreWebView2.Navigate(_options.StartUrl);

                    await signal.WaitAsync();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                finally
                {
                    form.Hide();
                    webView.Hide();
                }

                return browserResult;
            }
        }
    }

    private bool IsBrowserNavigatingToRedirectUri(Uri uri)
    {
        return uri.AbsoluteUri.StartsWith(_options?.EndUrl);
    }
}

内容的提问来源于stack exchange,提问作者Vladimir21

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 16:35:23