Protractor 获取以下错误";WebDriverError:未知错误:a.tagName.toUpperCase不是函数";

Protractor 获取以下错误";WebDriverError:未知错误:a.tagName.toUpperCase不是函数";,protractor,Protractor,当我试图在下面的输入字段中输入一个文本时,我得到了一个错误,尽管它显示在窗口中。下面给出了以下输入元素html代码。我无法理解错误的原因,无法找到解决方案“WebDriverError:未知错误:a.tagName.toUpperCase不是函数” 在规范中,我调用该方法 AddTag('tag1','tag2','tag3') 这是因为您试图使用大写字母而不是字符串,而是HTML元素 更不用说像这样的stg: element(by.xpath("//*[text()='Add Tag']"))

当我试图在下面的输入字段中输入一个文本时,我得到了一个错误,尽管它显示在窗口中。下面给出了以下输入元素html代码。我无法理解错误的原因,无法找到解决方案“WebDriverError:未知错误:a.tagName.toUpperCase不是函数”

在规范中,我调用该方法
AddTag('tag1','tag2','tag3')

这是因为您试图使用大写字母而不是字符串,而是HTML元素

更不用说像这样的stg:

element(by.xpath("//*[text()='Add Tag']")).toUpperCase();
您可能希望将元素的文本更改为大写。 尝试:

我找到了解决办法 将actions类与sendKeys一起使用

browser.actions.click(element).sendKeys('text').perform();

谢谢你的回答。但是我在这个元素中遇到了问题:let AddTag=element(by.xpath(“//input[@name='tagName']);当我尝试使用sendKeys发送文本时,它会抛出错误。元素(by.xpath(“/*[text()='addtag']”)是一个按钮,如果您正在检查的
语句中存在元素,则该元素可以在
中正常工作。查看isPresent和isDisplayed之间的区别:另外,isPresent返回
Promise
而不仅仅是
布尔值。谢谢Kacper它解决了我的问题。我刚刚删除了isPresent(),现在使用的不是sendKeys而是browser.executeScriptworking@vuppuluriatchyutharamadixit我也面临同样的问题,我尝试了
browser.executeScript(“参数[0].setAttribute('value','“+inputText+”),locator”)但不起作用。您能告诉我们其他的方式吗?我在代码中没有看到
toUpperCase
是的。我在代码中没有使用toUpperCase函数,但它会抛出错误,我也尝试过。但抛出错误,browser.actions.click不是函数
element(by.xpath("//*[text()='Add Tag']")).toUpperCase();
    element(by.xpath("//*[text()='Add Tag']")).getText().then((elementText) => {
        console.log(elementText.toUpperCase());
    });
browser.actions.click(element).sendKeys('text').perform();