2017-03-27 13 views
0

iframe Fancyboxを閉じてselenium webdriverの親ページに戻るにはどうしたらいいですか?私はイメージをアップロードするためにiframeを使用しています。私は親ページでmyを送信する必要があります。iframeのFancyboxを閉じて、selenium webdriverの親ページに戻るにはどうしたらいいですか?

WebElement browse_btn=driver.findElement(By.xpath(".//*[@id='myForm1']/input[2]")); 
browse_btn.sendKeys("C:\\Users\\user1\\Downloads\\test1.jpg"); 
WebElement upload_btn=driver.findElement(By.xpath(".//*[@id='myForm1']/input[3]")); 
upload_btn.click(); 
WebElement progress_bar=driver.findElement(By.xpath(".//*[@id='bar']")) ; 
WebDriverWait wait = new WebDriverWait(driver, 200); 
wait.until(ExpectedConditions.textToBePresentInElementLocated(By.xpath(".//*[@id='percent']"), "100%")); 
Thread.sleep(5000); 
driver.switchTo().defaultContent(); 
+0

コードに問題はありません。 DOMが既に存在するので、Thread.sleep(5000)も必要ありません。あなたは何を得ているのですか? – DebanjanB

+0

あなたのコードはどこでダイアログを閉じようとしていますか?それは睡眠がある場所でなければなりません。なぜ 'defaultContent()'行が必要なのかわかりません...コンテキストをiframeに切り替えるコードはありません。また、ページへのリンクまたは関連するHTMLの投稿が必要です。 – JeffC

+0

@Devエラーはありませんが、iframeが閉じられていませんamd親ページの要素にアクセスできない –

答えて

-1

アップロードが完了してもなぜあなたはThread.sleep(5000)ですか?フレームウィンドウは自動的に閉じますか?
そうでない場合は、フレームを閉じるための閉じるボタンがありますか?

こちらのシナリオでは、driver.switchTo().defaultContent();の代わりにdriver.switchTo().parentFrame();を試すことができます。これは機能するかもしれません。

+0

いいえ、ウィンドウが自動的に閉じることはありません。私はthread.sleep()を削除し、driver.switchTo.parentframe()を試しました。 、iframeが親ウィンドウに切り替わることはありません。 –

関連する問題