C# 是否有方法等待SendKeys()完成?

C# 是否有方法等待SendKeys()完成?,c#,selenium,saucelabs,C#,Selenium,Saucelabs,目前,在我们的框架中,我们有一个函数可以执行SendKeys。在实际触发SendKeys之前,我们请求该值,在SendKeys之后,我们检查该值是否已更改,以触发javascript函数来设置字段的值。这是为了防止SendKeys方法不起作用(我们有一个特定的案例) 事实是,这一切发生得如此之快,以至于当它在SendKeys方法之后请求字段值时,它并没有改变,所以它无论如何都会触发javascript函数 有什么方法可以避免这种情况,而不需要在其中放入Thread.Sleep()。或者,您可以尝

目前,在我们的框架中,我们有一个函数可以执行SendKeys。在实际触发SendKeys之前,我们请求该值,在SendKeys之后,我们检查该值是否已更改,以触发javascript函数来设置字段的值。这是为了防止SendKeys方法不起作用(我们有一个特定的案例)

事实是,这一切发生得如此之快,以至于当它在SendKeys方法之后请求字段值时,它并没有改变,所以它无论如何都会触发javascript函数


有什么方法可以避免这种情况,而不需要在其中放入Thread.Sleep()。

或者,您可以尝试
操作
类来发送文本,请参阅下面的java代码片段:

public static void enterTextboxValue(WebDriver driver, WebElement element, String value) {

    Actions navigator = new Actions(driver);
    navigator.click(element).sendKeys(Keys.END).keyDown(Keys.SHIFT).sendKeys(Keys.HOME).keyUp(Keys.SHIFT)
            .sendKeys(Keys.BACK_SPACE).sendKeys(value).perform();

    if (element.getAttribute("value").contains(value)) {
        System.out.println("Value [ " + value + " ] entered");
    } else {
        System.out.println("Unable to enter the value");
    }
} 

如何检查值是否已更改?发布你的代码。