繁体   English   中英

javascript错误:arguments [0] .setAttribute不是函数

[英]javascript error: arguments[0].setAttribute is not a function

以下功能给我一个错误 -

javascript error: arguments[0].setAttribute is not a function

我真的不知道我做错了什么 -

export async function highlightElement(webElement: ElementFinder) {
    await browser.driver.executeScript(
        'arguments[0].setAttribute("style", arguments[1]);', webElement.getWebElement, 'color: Red; border: 2px solid red;').
        then(resp => {
            return element;
        }).catch(err => {
            console.log('Error highlighting element' + err);
        });
}

我试图使用它突出显示页面上的web元素。 由于tslint,我在使用单引号。 我传递给它的值是一个像elementFinder的

element(by.xpath('//vtable/div/table/tbody'))

禁用lint并尝试下面的一个

/* tslint:disable */
    browser.executeScript("arguments[0].setAttribute('style',arguments[1])", webElement, "color: Red; border: 2px solid red;");
/* tslint:enable */

希望它对你有所帮助

它应该是webElement.getWebElement() ,而不是webElement.getWebElement ,第二个你应该使用!important in style value以防其他css值具有高优先级。

export async function highlightElement(webElement: ElementFinder) {
    await browser.driver.executeScript(
            'arguments[0].setAttribute("style", arguments[1]);', 
            webElement.getWebElement(), 
            'border: 2px solid red !important;'
        ).
        then(resp => {
            return webElement;
        }).catch(err => {
            console.log('Error highlighting element' + err);
        });
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM