C# PhantomJS正在清除sendKeys之前填充的字段

C# PhantomJS正在清除sendKeys之前填充的字段,c#,selenium-webdriver,phantomjs,bots,C#,Selenium Webdriver,Phantomjs,Bots,我等待一个元素出现,然后尝试用SendKeys填充它。即使元素已启用并显示,仍有40%的时间未填充该元素。我放了各种各样的线,到处都是各种各样的价值观 我的问题与此类似,但我使用的是PhantomJS驱动程序,而不是Firefox驱动程序。使用上面链接中的解决方案不起作用,我只是得到了未定义的函数异常 public static IWebElement FindElement(this IWebDriver driver, By by, int timeoutInSeconds) { i

我等待一个元素出现,然后尝试用
SendKeys
填充它。即使元素已启用并显示,仍有40%的时间未填充该元素。我放了各种各样的线,到处都是各种各样的价值观

我的问题与此类似,但我使用的是PhantomJS驱动程序,而不是Firefox驱动程序。使用上面链接中的解决方案不起作用,我只是得到了未定义的函数异常

public static IWebElement FindElement(this IWebDriver driver, By by, int timeoutInSeconds)
{
    if (timeoutInSeconds > 0)
    {
        var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(timeoutInSeconds));
        return wait.Until(drv => drv.FindElement(by));
    }
    return driver.FindElement(by);
}    


zipcode = _driver.FindElement(By.Name("iZipCode"), 50);
while(!zipcode.Displayed)
{
    System.Threading.Thread.Sleep(3000);
}
zipcode.Click();
zipcode.Clear();        
System.Threading.Thread.Sleep(3000);
zipcode.SendKeys(OpenQA.Selenium.Keys.Backspace);
zipcode.SendKeys(text);

我试图填充的元素是一个文本框,它出现在组合框选择中。我单击组合框中的元素->显示文本框(在选择组合框中的项目之前,它是隐藏的)。

使用Enter键修复发布的:

zipcode.SendKeys(text);
zipcode.SendKeys(OpenQA.Selenium.Keys.Enter);

谢谢你,机器人!非常感谢!