2014-03-27 99 views
0

我想指定郵政編碼到輸入字段來獲取餐館位置。我可以指定郵政編碼,並且無法按回車鍵。由於它沒有輸入按鈕,它需要通過JavaScript處理。需要幫助解決的問題:Selenium Webdriver處理java腳本文本框

public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    WebDriver driver = new FirefoxDriver(); 
    String baseURL = "http://www.thecheesecakefactory.com/"; 
    driver.get(baseURL); 
    // Go to Menu 
    driver.findElement(By.xpath("//*[@id='topNav']/li[1]/a")).click(); 
    // Click on Pizza 
    driver.findElement(By.xpath("//*[@id='firstScroller']/li[7]/a")).click(); 
    // Select Hawallian Pizza 
    driver.findElement(By.xpath("//*[@id='secondScroller']/li[6]/a")).click(); 
    //String pageTitle = "Hawaiian Pizza"; 
    String aTitle = driver.getTitle(); 
    if (aTitle.equalsIgnoreCase("Hawaiian Pizza")){ 
     System.out.println("Yes its Hawaiian Pizza"); 
     System.out.println(driver.getTitle()); 
    } 
    //Click to order and get locations 
    driver.findElement(By.xpath("//*[@id='receiptMenu']/div[1]/div[3]/div/a/b")).click(); 
    WebElement element; 
    element = driver.findElement(By.xpath("//*[@id='location_box']/div[2]/input")); 
    element.sendKeys("84604", Keys.ENTER); 
} 
+0

上面剛剛給你的東西沒有任何意義。你必須解釋你面臨的問題是什麼。 – Karthikeyan

+0

出於好奇,你爲什麼要用xpath找到所有東西?如果您儘可能使用id和class等屬性,那麼您的測試代碼將會更清晰。 –

回答

0
WebElement element; 
element = driver.findElement("//*[@id='location_box']/div[2]/input"); 
element.sendKeys("84604", Keys.ENTER); 

有一個在上面的代碼中的錯字錯誤。

WebElement element; 
element = driver.findElement(By.xpath("//*[@id='location_box']/div[2]/input")); 
element.sendKeys("84604", Keys.ENTER); 

我檢查了它工作正常的代碼。

+0

感謝您指出,儘管上面的代碼更改不起作用。在輸入框中輸入指定的郵政編碼,但Keys.ENTER無效。 –

+0

我試過它對我來說工作得很好。 – Manigandan

+0

那麼,它不適合我:(當我手動輸入,結果將顯示。任何線索我要去哪裏錯? –

相關問題