у меня есть следующий код:
var webdriverio = require('webdriverio');
var options = { desiredCapabilities: { browserName: 'chrome' } };
var client = webdriverio.remote(options);
var csv = require('csv-parser')
var fs = require('fs')
var stream = csv({
raw: false, // do not decode to utf-8 strings
separator: ';', // specify optional cell separator
quote: '"', // specify optional quote character
escape: '"', // specify optional escape character (defaults to quote value)
newline: '\n', // specify a newline character
strict: true // require column length match headers length
})
fs.createReadStream('test.csv')
.pipe(stream)
.on('data', function (data) {
WebDriverIO(data.Name)
})
function WebDriverIO(data) {
client
.init()
.url('https://authentication.liveperson.net/login.html?servicepath=a%2F~~accountid~~%2F%23%2C~~ssokey~~%3Bmarketer%21campaigns%2Fweb&lpservice=liveEngage')
.setValue('#siteNumber', data)
.getTitle().then(function(title) {
console.log('Title is: ' + title);
// outputs: "Title is: WebdriverIO (Software) at DuckDuckGo"
})
.end();
}
проблема в том, что при запуске этого кода окно браузера открывается для каждой строки, считываемой из CSV-файла - мне нужно ввести каждую строку в поле ввода без открытия нового экземпляра браузера (вызов .init ()), но у меня есть Понятия не имею, как я могу разделить этот код, чтобы сначала запустить .init () (открыть браузер instnace), а затем вызвать только функцию .setValue.