以下功能给我一个错误-
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,因此我使用单引号。我传递给它的值是像
这样的elementFinderelement(by.xpath('//vtable/div/table/tbody'))
答案 0 :(得分:0)
禁用棉绒,然后尝试下面的绒布
/* tslint:disable */
browser.executeScript("arguments[0].setAttribute('style',arguments[1])", webElement, "color: Red; border: 2px solid red;");
/* tslint:enable */
希望对您有帮助
答案 1 :(得分:0)
应该为webElement.getWebElement()
,而不是webElement.getWebElement
,然后在样式值中使用!important
,以防其他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);
});
}