Webdriver、Java、および Firefox を使用して、次の問題についてサポートが必要です。
テストでは、リンクをクリックすると、1) 通常の Web ページで新しいウィンドウが開くことがよくあります。または 2) ときどき、アドレスバーに「about:blank」が表示された新しいウィンドウが開きます。20 ~ 60 秒後に新しいウィンドウが消え、ファイルのダウンロード ウィンドウが表示されます。
URL は SEO のために書き換えられるため、リンクをクリックする前後に URL をチェックして、リンクが通常の Web ページに接続されているか、ダウンロード可能なファイルに接続されているかを判断する方法がありません。
どちらの場合も、driver.getWindowHandles().size() == 2 なので、特定の WebElement が新しいウィンドウに存在するかどうかを確認するために、次のステートメントを使用して新しいウィンドウに正常に切り替えることができます。for (String winHandle : driver.getWindowHandles()) { driver.switchTo().window(winHandle); }
ただし、リンクがダウンロード可能なファイルに接続する場合、次のいずれかのメソッドで実行がハングします。findElements(By.tagName(“body”)); getCurrentUrl(); getPageSource(); getTitle(); getWindowHandle();
getWindowHandles() は常に 2 を返しますが、アドレス バーに「about:blank」を含む新しいウィンドウが表示された後、ファイル ダウンロード ダイアログに置き換えられます。ときどき NoSuchWindowException 例外をスローします。しかし、ほとんどの場合、ハングアップします。明示的および暗黙的な待機を試みましたが、役に立ちませんでした。
どうもありがとうサム