Estoy usando el transportador y quiero obtener mediante programación la ruta npm node_modules del sistema global.
Por ejemplo mi jarra de selenio se instala aquí:
C:/Users/myuser/AppData/Roaming/npm/node_modules/protractor/node_modules/webdriver-manager/selenium/selenium-server-standalone-3.7.1.jar
y yo quería conseguir
C:/Users/myuser/AppData/Roaming/npm/node_modules/
o
C:/Users/myuser/AppData/Roaming/npm/node_modules/protractor/node_modules/
Escribí este pequeño script, que buscará mi tarro en los caminos.
var path = require("path");
var fs = require("fs");
var paths = path.getModulePaths()
for (i=0;i<paths.length;i++) {
file = path.join(paths[i],"webdriver-manager","selenium","selenium-server-standalone-3.7.1.jar")
if (fs.existsSync(file)) {
var seleniumServerJar = file
continue
}
}
Aquí supongo que esta función está disponible.
var paths = path.getModulePaths()
pero no lo es. Solía escribir un equivalente en Python, que es:
import sys
print sys.path
Respuestas
1 para la respuesta № 1Supongo que está esperando iniciar un administrador de webdriver programáticamente. Pruebe el siguiente código:
var pkgPath = require.resolve ("protractor");
var protractorDir = path.resolve(path.join(path.dirname(pkgPath), "..", "bin"));
var webdriverManagerPath = path.join(protractorDir, "/" + "webdriver-manager"));