2016-09-04 2 views
1

연락처 정보를 입력하라는 팝업이 표시됩니다. iframe 또는 경고 또는 Windows 기반 팝업이 아닙니다. URL은 변경되지 않습니다. 메인 홈페이지에서 '문의하기'를 클릭하면 팝업 창이 나타나 양식과 같이 보입니다. 드라이버 컨트롤을 어떻게 전환하고 입력 연락처 정보를 보내면됩니까 ??Selenium WebDriver가 팝업으로 전환 할 수 없음

어떤 도움도 항상 높이 평가됩니다.

+2

, 정상적인 부분으로 그것을 고려 페이지의 당신은 페이지의 다른 부분에 대해 로케이터 (xpath, css locator, ids) 등을 찾을 수 있습니다. –

+0

답장을 보내 주셔서 감사합니다. 내가 생각하기에 너무 길지만 로케이터를 찾을 수 없습니다. 사이트는 "http://uptake.com"입니다. 웹 드라이브가 "문의하기"탭을 클릭하면 문제가 발생합니다. 팝업 코드에서 몇 가지 로케이터를 시도했지만 Webdriver는 결코 도달하지 못합니다. 다시 한번 귀하의 도움을 진심으로 감사드립니다. – H1b1

+0

이 팝업에 HTML을 공유 할 수 있습니까? 팝업에서 어떤 요소를 찾으시겠습니까 ?? 그리고 시도한 내용도 공유하십시오 .. –

답변

2

특정 문제가있는 경우에 나는 확실하지 않다, 또는 그냥 동기화 문제 (이 예는 해결 것이다) : 그것은 경고 또는 iframe이 아니라면

WebDriver driver = new FirefoxDriver(); 
WebDriverWait wait = new WebDriverWait(driver, 10); // used for synchronization 

driver.get("http://uptake.com/"); 

// Make sure page was loaded 
WebElement contactUs = wait.until(
     ExpectedConditions.elementToBeClickable(By.linkText("Contact Us"))); 

contactUs.click(); 

// Wait for Contact Us div to become visible 
// (by checking that title is displayed) 
wait.until(
     ExpectedConditions.visibilityOfElementLocated(
       By.xpath("//h2[contains(text(), 'Contact us below.')]"))); 

// Start filling form 
driver.findElement(By.name("name")).sendKeys("John Smith"); 
// ... rest of the fields 
driver.findElement(By.name("message")).sendKeys("Hello!"); 
driver.findElement(By.xpath("//input[@value='Send']")).click(); 
+0

매력처럼 작동합니다! Kiril 한 무리 주셔서 감사합니다. 그것은 동기화였습니다. – H1b1

관련 문제