Có thể chuyển đổi giữa các tab riêng lẻ mà không cần phải có nhiều phiên bản trình duyệt.
Có sự khác biệt về cách trình điều khiển web xử lý các cửa sổ khác nhau và cách xử lý các tab khác nhau.
Trường hợp 1:
Trong trường hợp có nhiều cửa sổ, sau đó mã sau đây có thể giúp:
//Get the current window handle
String windowHandle = driver.getWindowHandle();
//Get the list of window handles
ArrayList tabs = new ArrayList (driver.getWindowHandles());
System.out.println(tabs.size());
//Use the list of window handles to switch between windows
driver.switchTo().window(tabs.get(0));
//Switch back to original window
driver.switchTo().window(mainWindowHandle);
Trường hợp 2:
Trong trường hợp có nhiều tab trong cùng một cửa sổ , sau đó chỉ có một cửa sổ xử lý. Do đó việc chuyển đổi giữa các tay nắm cửa sổ sẽ giữ điều khiển trong cùng một tab.
Trong trường hợp này, sử dụng Ctrl + \ t (Ctrl + Tab) để chuyển đổi giữa các tab hữu ích hơn.
//Open a new tab using Ctrl + t
driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL +"t");
//Switch between tabs using Ctrl + \t
driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL +"\t");
Chi tiết mẫu mã có thể được tìm thấy ở đây:
http://design-interviews.blogspot.com/2014/11/switching-between-tabs-in-same-browser-window.html
câu trả lời tuyệt vời. Tôi có một câu hỏi thứ hai. Với IE, làm cách nào để chuyển sang tab mới? Tôi đang sử dụng C#. window.switchTo(). window() yêu cầu một chuỗi. Cảm ơn –
Bạn phải lấy các tay cầm cửa sổ bằng cách sử dụng driver.getWindowHandles(). Sau đó, bạn có thể lặp qua các cửa sổ và kiểm tra URL hoặc tiêu đề để đảm bảo URL hoặc tiêu đề bạn muốn. –
Tôi nghĩ rằng tôi cần thêm một chút ví dụ. Tôi đang sử dụng C#. Tôi nghĩ rằng có thể là java .. –