Tôi đang sử dụng Selenium WebDriver. Mọi liên kết đều được mở trong cửa sổ trình duyệt mới. Nó không thuận tiện cho tôi. Làm thế nào tôi có thể thay đổi nó để nó mở ra chỉ trong tab mới?Selenium WebDriver: Mở tab mới thay vì cửa sổ mới
Trả lời
Selen không có khả năng chuyển đổi tab tại thời điểm này. Bởi vì điều này, chúng tôi buộc trình duyệt phải mở các liên kết trong các cửa sổ mới nhưng vì chúng tôi có thể chuyển đổi các cửa sổ, chúng tôi buộc trình duyệt phải tiếp cận. Điều này có thể được sửa trong phiên bản sau
rõ ràng, cảm ơn bạn – khris
Selen có khả năng chuyển qua các tab ngay bây giờ-một-ngày. Mã dưới đây1: sẽ hoạt động cho firefox, code2: cho IE và chrome bằng cách sử dụng lớp Robot mà chúng ta có thể thực hiện và điều khiển không tự động chuyển sang tab hiện tại, vì vậy chúng ta cần chuyển sang tab hiện tại bằng cách sử dụng phương pháp xử lý cửa sổ. Mã dưới đây sẽ hoạt động tốt Khi chúng tôi chạy tập lệnh riêng lẻ nhưng khi chạy như một bộ, bạn có thể cảm thấy nỗi đau khi thực hiện các sự kiện bàn phím. Để tránh điều đó chúng ta phải đi với khả năng khác bằng cách sử dụng phương thức javascript do người dùng định nghĩa bằng cách sử dụng trình thực thi javascript trong selenium-Java.
Chúng tôi có thể chuyển đổi giữa các cửa sổ và tab bằng cách xác định tên được phân bổ cho mỗi cửa sổ mà chúng tôi mở và tên sẽ có ký tự chữ và số.
***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. target = "_ blank" mở cửa sổ mới trong IE9, thay vì tab mới
- 2. .click() sự kiện khi 'Mở trong tab/cửa sổ mới'
- 3. Sửa đổi document.location sao cho tab/cửa sổ mới được mở thay vì điều hướng trong tab hiện tại
- 4. Gửi biểu mẫu Mở Tab/Cửa sổ mới?
- 5. Làm thế nào để mở một cửa sổ mới trên trình duyệt bằng cách sử dụng Selenium WebDriver cho python?
- 6. JavaFX mở cửa sổ mới
- 7. Cách mở tệp mới trong vim trong cửa sổ mới
- 8. HTML: cách buộc liên kết mở trong tab mới, không phải cửa sổ mới
- 9. Cách mở tệp PDF trong tab hoặc cửa sổ mới thay vì tải xuống tệp (sử dụng asp.net)?
- 10. Kiểm tra nếu một cửa sổ mới mở ra với Watir-Webdriver
- 11. Mở URL SSRS trong Cửa sổ mới
- 12. Eclipse: Mở trong Cửa sổ mới
- 13. Mở tab mới với AngularJS
- 14. Mở phản hồi trên cửa sổ mới
- 15. Nút mở trong cửa sổ mới?
- 16. Mở hình ảnh trong cửa sổ mới
- 17. mở cửa sổ mới bằng a4j: commandButton
- 18. Google CSE mở trong cửa sổ mới
- 19. Mở tệp mới trong cửa sổ gui mới hoặc bằng cách tách cửa sổ
- 20. Bất kỳ cách nào để buộc IE8 phải mở các cửa sổ bật lên trong một cửa sổ mới thay vì một tab?
- 21. Mở URI trong TAB mới (Silverlight)
- 22. javascript cho tab mới (CTRL + T), cửa sổ mới (CTRL + N)?
- 23. Mở cửa sổ mới trong HTML cho target = "_ blank"
- 24. Chuyển hướng Javascript - Cửa sổ mới
- 25. Bookmarklet Trong Cửa sổ mới
- 26. mở một liên kết trong một tab mới trong cùng một cửa sổ
- 27. tập tin theo lô để mở các tab trong cửa sổ trình duyệt MỚI
- 28. Mở liên kết trong cửa sổ mới với Capybara
- 29. Cách mở trang trong cửa sổ hoặc tab mới từ mã sau
- 30. mở tab mới (cửa sổ) bằng cách nhấp vào liên kết trong jquery
Bạn đang sử dụng ngôn ngữ lập trình nào? –