невозможно отправить ключи в поле формы файла с селеном (js), если файл не существует - PullRequest
0 голосов
/ 26 ноября 2018

Когда я пытаюсь заполнить форму с полем для загрузки файла, он работает нормально, если файл существует, но почему-то отклоняется, когда его нет.

const driver = await new webdriver.Builder().forBrowser('chrome').setLoggingPrefs({
  browser: 'ALL',
}).build();
await driver.executeScript(`document.write('<input type="file" id="testfile" name="testfile">');`);
await driver.findElement(By.id('testfile')).sendKeys('/does/not/exist');

Я получаю эту ошибку:

WebDriverError: invalid argument: File not found : /does/not/exist
  (Session info: chrome=70.0.3538.67)
  (Driver info: chromedriver=2.42.591071 (0b695ff80972cc1a65a5cd643186d2ae582cd4ac),platform=Linux 4.15.0-36-generic x86_64)
    at Object.checkLegacyResponse ([project]/node_modules/selenium-webdriver/lib/error.js:585:15)
    at parseHttpResponse ([project]/node_modules/selenium-webdriver/lib/http.js:533:13)
    at Executor.execute ([project]/node_modules/selenium-webdriver/lib/http.js:468:26)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)

, но я не могу понять, где находится процесс, который он проверяет, существует ли файл.Является ли это проверкой, которую выполняет браузер всякий раз, когда вы помещаете что-то в это поле, или проверкой, которую настроила библиотека селена?Или chromedriver выполняет проверку?

Можно ли как-то убедить его принять мое несуществующее имя файла?Я тестирую с удаленным селеном, поэтому не всегда могу сделать так, чтобы файл существовал.Мне не нужно отправлять форму, просто заполните ее.

(создал поле формы, используя document.write только для изоляции вопроса)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...