gpt4 book ai didi

javascript - 如何从 Protractor 中的输入元素获取文本值而不是 promise

转载 作者:行者123 更新时间:2023-12-02 22:19:53 24 4
gpt4 key购买 nike

当我在 StackOverflow 中搜索时,我找到了多种从输入元素获取值的解决方案。

我尝试了以下方法

方法一:

 return serialNumberTextField.getAttribute('ng-model')
.then((text)=>{return serialNumberTextField.evaluate(text);})
.then((evalText) =>{ console.log("serial number in eval method :"+evalText);
return evalText;})

方法2:

            return serialNumberTextField.getAttribute('value')
.then( (text) =>{
console.log("serial number in method :"+text);
return text;})

当在两种方法中打印时,它会打印精确的值例如:-method1:eval方法中的序列号:assetDF1534方法2:方法中的序列号:assetDF1534

我在两个地方使用了返回值

第一名:'assetName'变量是从上述方法中捕获的,以获取序列号。

assetNameTextField.clear().sendKeys(assetName);

第二名:

element(by.xpath("//a[contains(text(),'"+ assetName+"')]")).click();

首先,它工作正常,并在 assetname 文本字段中输入值“assetDF1534”,但在使用 Assets 名称创建 Web 元素时失败,因为它给出“assetName”作为 promise 而不是值。当我在这些方法中打印“assetName”时,显示为 promise ,如下所示:

要在过滤器中输入的 Assets 名称为 :ManagedPromise::2239 {[[PromiseStatus]]: "fulfilled"} Assets 名称为 :ManagedPromise::2239 {[[PromiseStatus]]: "fulfilled"}

Sendkeys 处理 Promise,因为它是 Protractor 方法,但在其他情况下则不然。如何获取值(value)而不是 promise ?

最佳答案

您需要解决 promise 而不是返回它。这应该可行。

function getSerialNumber() {
return new Promise((resolve, reject) => {
serialNumberTextField.getAttribute('value').then((text) => {
resolve(text);
})
.catch((err) => {
reject(err);
});
});
}

关于javascript - 如何从 Protractor 中的输入元素获取文本值而不是 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59261888/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com