【问题标题】:VS Code automatically adds parenthesis around await statementVS Code 自动在 await 语句周围添加括号
【发布时间】:2020-05-05 07:08:48
【问题描述】:

我正在用 selenium webdriver js 编写一些测试。我首先输入:

it('blah blah blah', async () => {
    await driver
})

然后我在driver 之后输入.。提出建议。然后我从列表中选择findElement

然后 VS Code “智能”地将我的代码更改为:

await (await driver).findElement

这很烦人,因为我必须手动删除额外的括号并等待。有什么解决办法吗?

【问题讨论】:

  • 你有没有发现为什么会发生这种情况?

标签: selenium-webdriver ecmascript-6 visual-studio-code async-await


【解决方案1】:

我猜你忘记解析new Builder().build(),所以你的driver实际上是一个Promise。能给个完整的代码吗?

【讨论】:

  • 为什么在修复await (await driver).findElement 之后,我的所有代码都会成功地自动化流程?我也有同样的问题。
【解决方案2】:

我有同样的问题,将跟进代码。要清楚,如果我撤消烦人的: const userMenu = await (await driver).findElement,然后将其返回到我输入的内容,而不是 VSCode 决定我的意思,const userMenu = await driver.findElement,它可以工作。一切正常。我正在登录、打开东西、与表单交互。一切都很好,除了这个讨厌的自动文本 (await driver) 在我写 findElement 之后被插入。

chrome.setDefaultService(new chrome.ServiceBuilder(chromedriver.path).build());

const driver = new webdriver.Builder()
    .withCapabilities(webdriver.Capabilities.chrome().set('chromeOptions', {'args': ['--auto-open-devtools-for-tabs', '--start-maximized']}))
    // .setChromeOptions()
    .build();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-19
    • 1970-01-01
    • 2022-01-13
    • 2021-10-25
    • 2011-04-11
    • 1970-01-01
    • 2013-01-11
    相关资源
    最近更新 更多