当我尝试使用用于上传文件的字段填写表单时,如果文件存在,则可以很好地工作,但是当文件不存在时,它将以某种方式被拒绝。
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
创建了表单字段)