Uncaught Ошибка: process.binding не поддерживается (browserify + selenium-webdriver)

1

Я пытаюсь запустить js-код узла в моем браузере, то есть на стороне клиента. Я использую браузер, чтобы преобразовать свой код в код, совместимый с браузером. В моем коде ниже используется веб-драйвер селена и cheerio. Я использую эту команду для ее преобразования

browserify test.js -o btest.js

Мой код выглядит так:

var cheerio = require('cheerio');
var webdriver = require('selenium-webdriver'),
    By = webdriver.By,
    until = webdriver.until;
var driver = new webdriver.Builder()
    .forBrowser('chrome')
    .build();


function getdata(email,username,password,callBack,errCallBack){

var url = 'https://www.linkedin.com/in/'+username;
driver.get('https://www.linkedin.com/');
driver.findElement(By.xpath('//*[@id="login-email"]')).sendKeys(email);
driver.findElement(By.xpath('//*[@id="login-password"]')).sendKeys(password);
driver.findElement(By.xpath('//*[@id="login-submit"]')).click();

driver.get(url);
attr={};
driver.findElement(By.className('profile-view-grid')).getAttribute("innerHTML").then(function(profile) { 
    var $= cheerio.load(profile);
    attr['ResearchInterest']=$('h2.pv-top-card-section__headline').text().trim();
});

callBack(attr);


}

Когда я включаю btest.js в свой html-код и пытаюсь запустить его, я получаю ошибку:

 Uncaught Error: process.binding is not supported

а также

Uncaught ReferenceError: getdata is not defined

Я не уверен, в чем проблема. Является ли это то, что мое преобразование с использованием браузера неверно или если веб-драйвер селена не может работать в браузере с помощью браузера? Если да, то каковы мои варианты. Любая полезная статья или блогпост, имеющий похожие примеры, высоко оценена.

Теги:
selenium
selenium-webdriver
browserify

1 ответ

0

Вы пытаетесь запустить тестовый код webdriver в браузере... который попытается запустить внешний процесс (будучи исполняемым webdriver), чтобы вы не могли сделать это в браузере. Ошибка, которую вы видите, возникает из-за того, что браузер не просто связующий, он преобразует ваш код узла, чтобы он мог запускаться в браузере - он предоставляет собственные версии различных встроенных функций, таких как буфер, консоль и т.д.... и процесс, Версия Browserify процесса состоит только из process.nextTick().

Ещё вопросы

Сообщество Overcoder
Наверх
Меню