2017-12-27 24 views
1

Firefox経由でいくつかのURLに移動する必要があります。私は別のタブ(ただし別のウィンドウではない)で各URLを開きたい。時にはそれが新しいウィンドウでリンクを開く代わりに -Seleniumの同じセッションでいくつかの新しいタブで複数のURLを開く

((JavascriptExecutor) driver).executeScript("window.open(arguments[0])", url); 

しかし、これはすべての時間を動作しません:時間のいくつかはある動作しているようにのみ提案 - 私はSOの多くの同様の質問を読みました新しいタブ。

私が使用している特定のFirefox設定と関係がありますが、browser.link.open_newwindow.override.external(〜3)の値を変更しても問題が解決しないようです。

私は新しいタブでWebページのリンクを開くことについて話していません(これは他のスレッドでここで議論されていることを私は知っていますstackoverflow)私は直接新しいタブでいくつかのURLに移動について話しています。

Firefoxに新しいタブでURLを開くにはどうすればいいですか?

+0

の可能性のある重複:

String mainWindowHandler = driver.getWindowHandle(); for(String winHandle : driver.getWindowHandles()){ driver.switchTo().window(winHandle); } 

EDIT (https://stackoverflow.com/questions/47543795/what-is-the-fastest-way-to-open-urls-in-new-tabs-via-selenium-python/47545387#47545387) – DebanjanB

+0

@Amit Asaf iあなたの解決策に対する回答が追加されました。 anwserで試したコードを置き換えてください。あなたのフィードバックを教えてください –

答えて

2

現在のセッションで新しいタブをopenningための正確なJavaソリューションは、それが新しいタブへの自動切り替えを処理する

((JavascriptExecutor)driver).executeScript("window.open('http://www.amazon.com');"); 

を下回っています。ドライバハンドルのタブを切り替える場合は、これを実装してください。 [セレンを経由して新しいタブでURLを開くための最速の方法は何ですか - Pythonのは?]あなたは変数としてURLを使用する場合は、以下のコードを使用し

String url = "http://www.amazon.com/"; 
((JavascriptExecutor)driver).executeScript("window.open('" + url + "');"); 
関連する問題