gpt4 book ai didi

typescript - 如何使用带有等待语法的 typescript 获取 webdriverio 中的元素属性值?

转载 作者:搜寻专家 更新时间:2023-10-30 21:13:58 25 4
gpt4 key购买 nike

主题。

更多信息:

以下代码示例无法编译:

let id = (await browser.element(selector)).getAttribute('id');

TSError: ⨯ Unable to compile TypeScript ...: Property 'getAttribute' does not exist on type 'RawResult'. (2339)

let id = (await browser.element(selector).getAttribute('id'));

TSError: ⨯ Unable to compile TypeScript ...: Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member. (1320)

最佳答案

我真的不知道为什么,但是 webdriverio 定义声明了 an object that looks like a promise but is called Client .

在 TypeScript 中,您可以await 返回Promise 的函数。您可以使用自己的函数和 promise 包装 webdriverio API:

import * as webdriverio from "webdriverio";

function getTitleAsync(url: string) {
return new Promise((resolve, reject) => {
const options = { desiredCapabilities: { browserName: "chrome" } };
const client = webdriverio.remote(options);
client
.init()
.url(url)
.getTitle()
.then(function (title) {
resolve(title);
})
.end();
});
}

然后你可以等待你的功能:

(async () => {
const title = await getTitleAsync("https://duckduckgo.com/");
console.log(title);
})();

关于typescript - 如何使用带有等待语法的 typescript 获取 webdriverio 中的元素属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44395733/

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