0

ログインページがあり、ログインボタンをクリックすると新しいタブが開きます。

を使用して、コントロールを新しいウィンドウに移動しました。

driver.switchTo().window("_blank");

クリックButtonすると、新しいポップアップが開きます (ポップアップは通常のウィンドウではなく、iframe です)。

を使用してポップアップウィンドウを選択しました。

driver.switchTo().frame("frameName");

そのポップアップにはレコードのリストがあります。各レコードには個別の「選択」オプションがあります (動的に変化する ID を使用)。

driver.findElement(By.xpath("//a[@id='radgrdPeople_ctl00_ctl04_lnkSelect']")).click();

リストからレコードを選択すると、ポップアップ ウィンドウが閉じられ、ページが更新されます。

ここで、他のことを行うために、コントロールを親ウィンドウに戻したいと思います。

レコードが正常に選択されました。しかし、親ウィンドウに再びフォーカスすることができませんでした。

私が試してみました:

driver.switchTo().defaultcontent();
driver.switchTo().window("_blank");

driver.getWindowHandles()

それでも私は同じ問題を抱えています。

動的に変化する要素 ID を処理するために Java スクリプト エグゼキュータを使用する必要があるかどうかはわかりません。

誰でもこれについて私を助けてくれませんか....

前もって感謝します。

K.ランジットクマール

4

2 に答える 2

0

最初のウィンドウを親ウィンドウにする必要があります

String parent=driver.getwindowhandle;
// then, set String popup to be equal to window handle of the 
// popup window
driver.switchTo().window( popup);
driver.findElement(By.id("okbutton")).click(); //assumes close of popup

ポップアップ ウィンドウでタスクを実行した後、コントロールを親ウィンドウに戻します。

driver.switchTo().window( parent );// switch back to parent window
driver.switchTo().defaultcontent(); // reset iframe context
于 2013-04-06T09:51:41.690 に答える
0

ログインボタンをクリックした後の投稿でWindowNameは、新しいウィンドウに切り替えるために使用していました。しかし、試した解決策では、以前empty stringは新しいウィンドウに切り替えていました。

于 2013-01-22T13:58:00.753 に答える