文件路径

时间:2017-09-14 11:41:35

标签: node.js selenium selenium-webdriver webdriver-manager

我遇到了与webdriver-manager npm模块一起使用的Selenium独立webdriver的问题。我正在使用Firefox Gecko驱动程序。我需要从HTML文件输入组件中选择一个文件。当我在本地计算机或BrowserStack上尝试此操作时,我收到错误:

" WebDriverError:找不到文件:/Users/christophergrigg/a.pdf"

const requestFile = By.id('requestFile');
driver.wait(until.elementLocated(requestFile));
const requestFileEl = driver.findElement(requestFile);
driver.wait(until.elementIsVisible(requestFileEl), TIMEOUT).click();
requestFileEl.sendKeys('/Users/christophergrigg/a.pdf');
requestFileEl.sendKeys(webdriver.Key.ENTER);

在浏览器堆栈上我使用此路径:

requestFileEl.sendKeys('C:\\Desktop\\documents\\pdf-sample2.pdf'); // Windows 7 / 8 / 8.1

1 个答案:

答案 0 :(得分:1)

您需要提供文件的完整路径。如果运行远程实例的计算机上没有该文件,您还必须设置文件检测器以自动上传文件。

在mac OS X上:

var remote = require('selenium-webdriver/remote');
driver.setFileDetector(new remote.FileDetector);
driver.sendKeys('/Users/christophergrigg/Desktop/a.pdf');

,或Windows:

var remote = require('selenium-webdriver/remote');
driver.setFileDetector(new remote.FileDetector);
driver.sendKeys('C:\\Users\\christophergrigg\\Desktop\\a.pdf');