2014-09-13 25 views
0

我等待一個元素出現,然後我嘗試使用SendKeys填充它。即使元素已啓用並顯示,仍未有40%的元素未被填充。我將各種各樣的Thread.Sleep放在各處。PhantomJS正在清除字段後sendKeys先前填充它們

我的問題類似於這個one,但我使用的是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); 

我試圖填充的元素是出現在組合框選擇上的文本框。我點擊組合框中的元素 - >顯示文本框(在組合框中選擇項目之前它是隱藏的)。

回答

-1

使用回車固定發行:

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

你應該能夠接受你的答案。 – 2014-09-13 08:45:36

+0

謝謝,機器人!非常感謝! – Xandarian 2014-09-13 09:29:11

相關問題