Как в webview2 Заполнить поле типа file?

Много лет назад был найден способ заполнения полей type="file" еще для webbrowser.

async Task PopulateInputFile_poster(string file_poster)
        {
            ExecuteScript("document.getElementById(\"fln1\").focus();");

            // delay the execution of SendKey to let the Choose File dialog show up
            var sendKeyTask = Task.Delay(1000).ContinueWith((_) =>
            {
                // this gets executed when the dialog is visible
                SendKeys.Send(disk + "" + "poster.webp" + "{ENTER}");
            }, TaskScheduler.FromCurrentSynchronizationContext());

            ExecuteScript("document.getElementById(\"fln1\").click();"); // this shows up the dialog

            await sendKeyTask;

            // delay continuation to let the Choose File dialog hide
            await Task.Delay(1000);
        }


        async Task Populate()
        {
            ExecuteScript("document.getElementById(\"fln1\").focus();");
            await PopulateInputFile_poster("fln1");
        }

И потом все это вызывается при нажатии нужной кнопки:

Populate().ContinueWith((_) =>
            {

            }, TaskScheduler.FromCurrentSynchronizationContext());

Этот способ работает и для webview2. Но меня интересует есть ли какая-нибудь альтернатива? Т.к. в приведенном мною примере заполняется лишь одно поле, но у меня есть парочка проектов, где таких полей больше 10. Их заполнение занимает некоторое время, и его хотелось бы сократить, если это возможно)


Ответы (0 шт):