2014-03-27 2 views
0

입력란에 우편 번호를 지정하여 레스토랑 위치를 가져 오려고합니다. 우편 번호를 지정하고 Enter 키를 누를 수 없습니다. 그 버튼을 입력하지 않으면 그것은 자바 스크립트를 통해 처리해야합니다. 해결 문제에 도움이 필요하십니까 : 위의 코드에 오타 오류가 있습니다자바 스크립트 텍스트 상자를 처리하는 Selenium Webdriver

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

글쎄, 그게 나를 위해 일하지 않는 :(수동으로 입력 할 때 결과가 표시됩니다. 내가 잘못 가고있는 어떤 단서가? –

관련 문제