Selenium: загрузка веб-файлов WhatsApp работает в обычном Chrome, но не работает в безголовом режимеC#

Место общения программистов C#
Ответить
Anonymous
 Selenium: загрузка веб-файлов WhatsApp работает в обычном Chrome, но не работает в безголовом режиме

Сообщение Anonymous »

Я использую Selenium с C# ChromeDriver для автоматизации WhatsApp Web.
Загрузка PDF-файла работает правильно в обычном (видимом) Chrome:

Код: Выделить всё

var attachInput = driver.FindElement(By.CssSelector("input[type='file'][multiple]"));
attachInput.SendKeys(filePath);
// PDF + message are delivered
но не работает в безголовом режиме:
  • Случай 1

    Код: Выделить всё

    var attachInput = driver.FindElement(By.CssSelector("input[type='file'][multiple]"));
    // Throws: NoSuchElementException
    
  • Случай 2

    Код: Выделить всё

    var attachInput = driver.FindElement(By.CssSelector("input[type='file']"));
    attachInput.SendKeys(filePath);
    // No exception, but PDF is never delivered (only text message sends)
    
Параметры Chrome (без заголовка):

Код: Выделить всё

if (isHeadless)
{
options.AddArgument("--headless=new");
options.AddArgument("--disable-gpu");
options.AddArgument("--window-size=1920,1080");
options.AddArgument(
"user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) " +
"AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
);
}
Шаги
  • Открыть: https://web.whatsapp.com/send?phone=...
  • Нажмите значок вложения (плюс)
  • Нажмите «Документ»
  • Отправить файл скрытым способом
  • Нажмите «Отправить»
В обычном режиме работает на 100%. Не работает в настоящем headless-браузере.
Блокирует ли WhatsApp Web загрузку файлов в автономных браузерах намеренно? Есть ли какой-либо обходной путь, или загрузка файлов просто невозможна в настоящем безголовом Chrome для WhatsApp Web?

Подробнее здесь: https://stackoverflow.com/questions/798 ... n-headless
Ответить

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

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

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

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

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