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 % в обычном режиме.

Не работает в настоящем безголовом Chrome.

Вопрос
Блокирует ли WhatsApp Web намеренно загрузку файлов в автономных браузерах?

Есть ли какое-либо обходное решение или загрузка файлов просто невозможна в истинном автономном Chrome для WhatsApp Web?

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

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