2016-09-04 30 views
1

連絡先情報の入力を求めるポップが表示されます。これは、iframe、またはアラートまたはWindowsベースのポップアップではありません。 URLは変更されません。メインのホームページで「私に連絡」をクリックすると、ポップアップが表示され、フォームのように見えます。ドライバ制御をどのように切り替えて入力連絡先情報を送信するのですか?Selenium WebDriverをポップアップに切り替えることができません

何か助けが常に高く評価されています。

+2

それがアラートまたはインラインフレームではない場合、それは通常の一部であることを考えますページのあなたはページの他の部分と同様にロケータ(xpath、css locator、ids)などを見つけることができます –

+0

あなたの返事をありがとう、それは私が思ったものですが、ロケータを見つけることができません。サイトは "http://uptake.com"です。ウェブドライブが「お問い合わせ」タブをクリックしているときに問題が発生しています。ポップアップのコードからいくつかのロケータを試しましたが、Webdriverは決してそれらに到達しません。再度、あなたの助けは本当に感謝しています。 – H1b1

+0

このポップアップのHTMLをここで共有できますか?ポップアップからどの要素を探したいかをお知らせください。また、あなたの試行した試行を共有してください。 –

答えて

2

私はあなたが特定の問題がある場合はわからない、またはそれが(この例では、対処することになる)だけで同期の問題です:

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

関連する問題