首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扩展webdriver.WebDriver函数

扩展webdriver.WebDriver函数
EN

Stack Overflow用户
提问于 2016-03-23 03:39:28
回答 1查看 176关注 0票数 0

我想要扩展selenium webdriver.WebDriver函数,使我能够记录命令的输出,例如

代码语言:javascript
复制
WebdriverReporter.prototype.sendKeys = function(keys){
 //call original method + call my api to store the keys
}

我试图让我的webdriverreporter继承webdriver,但是我正在努力创建一个新的webdriver实例。

代码:

代码语言:javascript
复制
var util = require('util');
var webdriver = require('selenium-webdriver');


var WebdriverReporter = function(){
  webdriver.WebDriver.apply(this);
  console.log("constructor: webdriver reporter");
};

util.inherits(WebdriverReporter, webdriver.WebDriver);

var a = new WebdriverReporter();

console.log("test", a instanceof webdriver.WebDriver);

错误:

代码语言:javascript
复制
constructor(session, executor, opt_flow) {
             ^

TypeError: Class constructors cannot be invoked without 'new'

我通常使用以下命令创建一个新的webdriver:

代码语言:javascript
复制
new webdriver.Builder()
    .forBrowser(config.browser.chrome.browserName)
    .withCapabilities(chromeCapabilities)
    .build();

但是,它在这个新实例中将不起作用

EN

回答 1

Stack Overflow用户

发布于 2016-03-23 11:13:13

我想问题出在这条线上-

代码语言:javascript
复制
webdriver.WebDriver.apply(this);

试一下-

代码语言:javascript
复制
webdriver.WebDriver.call(this);

请看-

Node.JS Docs - util.inherits

MDN - Introduction to Object-Oriented JavaScript - Inheritance

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36163649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档