Selenium を使用して WindowHandles を使用してタブとウィンドウを追跡および反復する最良の方法
P粉744691205
P粉744691205 2023-11-04 18:03:14
0
1
713

Internet Explorer 11 の UI テストのために Selenium Webdriver を使用しています。 テスト Web アプリケーションでは、いくつかの画面がポップアップ表示されます。一部のテストでは、ブラウザ ウィンドウが 3 つになり、Driver.WindowHandles が 3 つになりました。 ある WindowHandle から別の WindowHandle に切り替えるには、Driver.WindowHandles が最も古いウィンドウが最初に、最新のウィンドウが最後にソートされることが期待されます。しかし、そうではありません。それは完全にランダムです。

windowhandle は GUID であるため、最終的には、WindowHandle GUID をキーとして、値をブラウザ ウィンドウにロードされるページの種類の値として使用して辞書を作成することになります。 ただし、これにより、ウィンドウが閉じられたときにも辞書が維持されます。

これほど単純なことなのに、大変な作業のように思えます。もっと良い解決策はありますか?

P粉744691205
P粉744691205

全員に返信(1)
P粉986937457

###あなたは、絶対に正しい: ###

サイモンはディスカッションの中で次のように明確に述べました:

したがって、

WebDriverWait を発生させ、新しいタブ/ウィンドウが開くたびにウィンドウ ハンドルを収集し、最後にウィンドウ ハンドルと switchTo() を反復処理します。 .window( new_opened) 必要に応じて: Java:

リーリー

コンソール出力:

リーリー

###他の###


python

に基づくディスカッションは、

新しいタブで Web Selenium Python を開く

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート