Цикл for выполняется только один раз с помощью метода ExecuteScriptAsync.C#

Место общения программистов C#
Ответить
Anonymous
 Цикл for выполняется только один раз с помощью метода ExecuteScriptAsync.

Сообщение Anonymous »

Среда — C# и WinForms. Я пытаюсь запустить программу, которая создаст элемент загрузки изображения на уже созданном веб-сайте. Я использую WebView2 в качестве браузера. Я изменил цикл for на 2 итерации только для устранения этой проблемы. Я могу успешно загрузить 1 изображение, но мой результат достигает максимума за 1 итерацию. Спасибо за любую помощь! Ниже приведен код, вызывающий у меня проблемы:
async void multiplePics (int column) => await webView2.ExecuteScriptAsync("" +
"var downloadElement=document.createElement('a'); " +
"downloadElement.setAttribute('download',''); " +
"downloadElement.href= document.getElementsByClassName('slick-slide slick-cloned')[" + column + "].getElementsByClassName('item')[0].getAttribute('href'); " +
"document.body.appendChild(downloadElement); " +
"downloadElement.click();" +
"downloadElement.remove(); " +
"");

for (int i = 0; i { return multiplePics(1);} );
//tried GetAwaiter() along with GetResult() also
}
< /code>
Другая попытка: < /p>
private async void button5_Click(object sender, EventArgs e)
{
//tried public & private async Task multiplePics with no success
//async Task multiplePics had no errors but had the same result
private async Task multiplePics(int column) =>
await webView2.ExecuteScriptAsync("" +
"var downloadElement=document.createElement('a'); " +
"downloadElement.setAttribute('download',''); " +
"downloadElement.href= document.getElementsByClassName('slick-slide slick-cloned')[" + column + "].getElementsByClassName('item')[0].getAttribute('href'); " +
"document.body.appendChild(downloadElement); " +
"downloadElement.click();" +
"downloadElement.remove(); " +
"");

for (int i = 0; i

Подробнее здесь: https://stackoverflow.com/questions/733 ... ync-method
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»