私はSelenium WebDriverを使用しています。すべてのリンクが新しいブラウザウィンドウで開きます。それは私にとっては便利ではない。どうすれば新しいタブで開くように変更できますか?Selenium WebDriver:新しいウィンドウの代わりに新しいタブを開く
9
A
答えて
5
現在、Seleniumにはタブを切り替える機能がありません。このため、ブラウザは新しいウィンドウでリンクを開くように強制しますが、ウィンドウを切り替えることができるため、ブラウザに強制的にアプローチを強制します。このは、それ以降のバージョンで修正される可能性があります。
+0
クリア、ありがとう – khris
10
Seleniumは、今すぐタブを切り替えることができます。以下のコード1はfirefox、code2のために動作します:私たちができるRobotクラスを使ってIEとクロムのためにコントロールは自動的に現在のタブに移動しないので、ウィンドウハンドルメソッドを使って現在のタブに切り替える必要があります。以下のコードはうまくいくでしょう。個々のスクリプトを実行しているときに、スイートとして実行すると、キーボードボードのイベントを実行する際の苦痛を感じるかもしれません。私たちは、セレン - Javaのjavascriptエグゼキュータを使用して、ユーザー定義のjavascriptメソッドを使用することによって、他の可能性に挑戦することを避けるためです。
開いているすべてのウィンドウごとに割り当てられた名前を識別することで、ウィンドウとタブを切り替えることができます。名前は英数字で表示されます。
***Code 1***
//First tab(default tab)
driver.navigate().to("http://www.google.com");
driver.manage().window().maximize();
//second tab
driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL + "t");
driver.navigate().to("https://yahoo.com");
//third tab
driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL + "t");
driver.navigate().to("http://www.google.com");
//move to very first tab.
driver.findElement(By.cssSelector("body"))
.sendKeys(Keys.CONTROL + "\t");
// To close the current tab.
driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL + "w");
**code 2**
driver.navigate().to("http://www.google.com");
driver.manage().window().maximize();
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_T);
Set<String> handles = driver.getWindowHandles();
List<String> handlesList = new ArrayList<String>(handles);
String newTab = handlesList.get(handlesList.size() - 1);
// switch to new tab
driver.switchTo().window(newTab);
driver.get("http://www.yahoo.com");
関連する問題
- 1. 新しいページを開く:新しいウィンドウと新しいタブ
- 2. ページが新しいタブで開く代わりにフレーム
- 3. IEのSelenium-webdriverを使用して新しいタブでURLを開く
- 4. 新しいタブ/ウィンドウでボタンを開く
- 5. 新しいウィンドウを開く
- 6. 新しいウィンドウがWatir-Webdriverで開くかどうかのテスト
- 7. 新しいタブ/ウィンドウで各Wordpressの投稿を開くには?
- 8. アップロードしたPDFファイルを新しいブラウザのウィンドウ/タブで開く
- 9. パネルの代わりに新しいタブを作成する
- 10. 新しいタブ/ウィンドウでASPページを開くには?
- 11. XULウィンドウ/ダイアログを新しいタブで開くには?
- 12. LinkButtonの使用PostbackUrl - 開くには新しいウィンドウ/タブ
- 13. 新しいタブでリンクを開き、新しいタブのみを開く
- 14. Selenium WebDriverの子から新しい親ウィンドウに切り替えるJava
- 15. Facebookタブの新しいウィンドウでiframeを開く方法は?
- 16. ポップアップが新しいポップアップウィンドウの代わりに同じウィンドウで開きます
- 17. 新しいタブ/ウィンドウで開く機能を備えたJavascriptリンク
- 18. Javascript - 新しいタブでリンクを開く(同じウィンドウ)
- 19. jqueryの新しいタブを開く
- 20. Selenium Webドライバは、既に開いている既存のウィンドウに新しいタブを開きます
- 21. Googleニュースボックス、新しいウィンドウで開くニュースページ/タブ
- 22. jQuery - ページの新しいウィンドウを開く
- 23. 新しいタブでサムネイルを開く
- 24. 新しいタブでリンクを開く
- 25. 新しいタブを開くfirefox
- 26. 新しいタブでURLを開く
- 27. 新しいタブでリンクを開く?
- 28. ブラウザで新しいタブを開く
- 29. 新しいタブでiframeソースを開く
- 30. AngularJSで新しいタブを開く
どのようなプログラミング言語をお使いですか? –