【问题标题】:How can I identify the element I am looking for prior to it being loaded using WebDriverWait如何在使用 WebDriverWait 加载它之前识别我正在寻找的元素
【发布时间】:2023-04-06 04:23:01
【问题描述】:

我正在使用 Appium 为 WPF 桌面应用程序编写测试。我需要等待一个元素出现。我有以下代码:

WebDriverWait testWait = new WebDriverWait(driver, TimeSpan.FromSeconds(7));
            
var userName = driver.FindElementByName("userNameBox");

testWait.Until(pred => userName.Displayed);

由于未设置 userName 变量(第二行),此代码失败 - '使用给定的搜索参数无法在页面上找到一个元素。'

显然这是因为元素尚未加载——这就是代码的重点。但是,在加载之前我如何识别我正在寻找的元素呢?

【问题讨论】:

    标签: windows selenium-webdriver appium webdriverwait appium-desktop


    【解决方案1】:

    您可以通过ExpectedConditions 等待此元素可见性。
    像这样的:

    testWait.until(ExpectedConditions.visibilityOfElementLocated(By.name("userNameBox")));
    

    【讨论】:

    • 我不太确定这里的语法。你没有提到你的绑定语言......这就是它在 Java / Selenium 中的样子。如果您使用 C# 编码,则可能是一些大写字母,而我使用小写字母 :) 等。
    • 谢谢,试试这个!
    猜你喜欢
    • 1970-01-01
    • 2017-12-03
    • 2020-07-06
    • 2021-07-05
    • 1970-01-01
    • 1970-01-01
    • 2022-11-16
    • 1970-01-01
    • 2022-08-17
    相关资源
    最近更新 更多