Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 使用Selenium和NodeJS从onclick按钮下载文件_Node.js_Selenium_Npm - Fatal编程技术网

Node.js 使用Selenium和NodeJS从onclick按钮下载文件

Node.js 使用Selenium和NodeJS从onclick按钮下载文件,node.js,selenium,npm,Node.js,Selenium,Npm,因此,我试图将一个文件下载到一个特定的目录中,同时使用Selenium和nodeJS来触发下载。下面是我必须单击按钮本身的代码: const chai = require('chai'); const expect = require('chai').expect; const assert = require('chai').assert; var webdriver = require('selenium-webdriver'), By = webdriver.By, unt

因此,我试图将一个文件下载到一个特定的目录中,同时使用Selenium和nodeJS来触发下载。下面是我必须单击按钮本身的代码:

const chai = require('chai');
const expect = require('chai').expect;
const assert = require('chai').assert;
var webdriver = require('selenium-webdriver'),
    By = webdriver.By,
    until = webdriver.until;
var driver = new webdriver.Builder()
     .forBrowser('chrome')
     .add_argument("")
     .build();

driver.get(url);

driver.sleep(2000).then(function() {
    driver.getTitle().then(function(title) {
        expect(title).to.equal(title);
    });
});
driver.sleep(2000).then(function() {
    driver.executeScript('window.scrollTo(0,10000);');
    driver.sleep(300);
    driver.findElement(By.className('button col-md-2 download-button')).click();
}) 
我的问题是Selenium和web驱动程序似乎下载到未知/无法访问的位置。如果有人知道如何解决这个问题,我们将不胜感激

Chrome Driver Version = 2.32.498537 
npm Selenium-Webdriver Version = 3.5

您需要通过执行以下操作来设置下载位置:

var webdriver = require("selenium-webdriver");
var chrome = require("selenium-webdriver/chrome");
var options = new chrome.Options();
options.addArguments(“download.default_directory”,”/path/to/download”);

var driver = new webdriver.Builder()
     .forBrowser('chrome')
     .withCapabilities(options.toCapabilities())
     .build();