javascript - 未捕获错误 : process. 不支持绑定(bind)(browserify+selenium-webdriver)

标签 javascript node.js selenium selenium-webdriver browserify

我正在尝试在浏览器(即客户端)中运行 Node js 代码。我正在使用 browserify 将我的代码转换为浏览器兼容的代码。我下面的代码使用selenium web-driver 和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);


}

当我在 html 代码中包含 btest.js 并尝试运行它时,出现错误:

 Uncaught Error: process.binding is not supported

Uncaught ReferenceError: getdata is not defined

我不确定问题是什么。是我使用 browserify 的转换不正确还是 selenium web 驱动程序无法使用 browserify 在浏览器中运行?如果是这样,我的选择是什么。任何具有类似示例的有用文章或博文都将受到高度赞赏。

最佳答案

您正在尝试在浏览器中运行 webdriver 测试代码...它将尝试启动外部进程(作为 webdriver 可执行文件),因此您无法在浏览器中执行此操作。 您看到的错误的出现是因为 browserify 不仅仅是一个 bundler ,它会转换您的 Node 代码,以便它可以在浏览器中运行 - 它提供自己的版本是各种内置函数 - 例如缓冲区、控制台等......和进程。 Browserify 版本的 process 仅包含 process.nextTick()。

关于javascript - 未捕获错误 : process. 不支持绑定(bind)(browserify+selenium-webdriver),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44506182/

相关文章:

javascript - 可观察对象存储在浏览器内存中的什么位置?

javascript - Windows 8 JS 应用程序中的 jQuery

javascript - Node ssh2 : TypeError: <Object> is not a constructor

node.js - Readline 仅在第一次有效

java - Selenium Webdriver java 自动化窗口

java - 如何修复 [1573451709.039][警告] : Timed out connecting to Chrome, 重试...同时使用 chrome 版本 78 和 chrome 驱动程序版本 78.0.3904.70

javascript - React JSX 编辑风格

Javascript 数组查找未定义的检查

node.js - 如何在 Electron 中取消注册上下文菜单监听器

ruby - Selenium IDE 并告诉它记录操作