【问题标题】:Selenium webdriver issue with file pathsSelenium webdriver 文件路径问题
【发布时间】:2017-09-14 20:06:39
【问题描述】:

我遇到了与 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

【问题讨论】:

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


    【解决方案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');
    

    【讨论】:

    • 感谢您的回复,远程上传会很方便。即使使用完整路径,问题也会发生在我的本地计算机上,所以我被困在第 1 步。
    • 我实际上看到了同样的事情。我只是在 IE 上运行了一些自动化,我得到了同样的错误。它在 Chrome 和 FF 上运行良好,但在 IE 上它报告找不到该文件。我从错误消息中获取了路径并尝试了它,它发现文件很好......所以我也很难理解问题可能是什么。
    猜你喜欢
    • 2019-12-28
    • 1970-01-01
    • 2012-06-10
    • 1970-01-01
    • 2013-07-14
    • 2020-10-24
    • 2014-05-08
    • 1970-01-01
    相关资源
    最近更新 更多