2012-09-05 39 views
1

嗨,我只是在學習Webdriver。我自動化的流程有5個屏幕。 2屏幕,我能夠使用webdriver導航。在第二個屏幕輸入詳細信息並單擊ENTER後,第三個屏幕不會在Webdriver瀏覽器中加載。硒webdrive頁面未加載 - 試圖找到隱形元素,並等待

當我嘗試手動這工作正常。我嘗試了各種邏輯,等待頁面放置並搜索不可見的元素。

這是webdriver瀏覽器的一些限制嗎?

WebDriver driver = new FirefoxDriver(); 


    driver.get("url");   
    // Find the text input element by its name   
    WebElement element = driver.findElement(By.className("clicButton")); 
    // Enter something to search for 
    element.click(); 
    System.out.println("completed start"); 
    WebElement element1 = driver.findElement(By.name("contactphone")); 
    element1.sendKeys("number");   
    // Now submit the form. WebDriver will find the form for us from the element 
    //element1 = driver.findElement(By.id("the id")); 
    //element1.click(); 
    element1.sendKeys(org.openqa.selenium.Keys.ENTER); 
    System.out.println("clicked continue"); 
    //WebDriverWait wait = new WebDriverWait(driver,10); 
    //WebElement element2 = wait.until(driver.findElement(By.name("name"))); 

    //wait.until(driver.findElement(By.name("name")).isDisplayed()); 

    new WebDriverWait(driver, 60) 
     .until(ExpectedConditions.presenceOfElementLocated (By.name("name"))); 

異常線程「main」 org.openqa.selenium.TimeoutException:By.name:60秒來等待位於由元素的存在超時後命名 生成信息:版本:「未知」,修訂:'unknown',time:'unknown' 系統信息:os.name:'Windows XP',os.arch:'x86',os.version:'5.1',java.version:'1.6.0_20' 驅動程序info:driver.version:unknown at org.openqa.selenium.support.ui.FluentWait.timeoutException(FluentWait.java:255) at org.openqa.selenium.support.ui.FluentWait.timeoutException(FluentWait.java:270 ) at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:222) 在LoadUsers.main(LoadUsers.java:49) 產生的原因:org.openqa.selenium.NoSuchElementException:找不到元素:命令持續時間或超時:0毫秒

回答

0

幾個選項:

  1. 試使用Keys.Return而不是Keys.Enter
  2. 嘗試對input元素執行element1.SendKeys(Keys.Return),而不是在提交按鈕上執行。
  3. 請查看:typing-enter-return-key-in-selenium