2014-03-27 101 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

那么,它不适合我:(当我手动输入,结果将显示。任何线索我要去哪里错? –

相关问题