Rumah >Java >javaTutorial >Bagaimana untuk Beralih Antara Tab dalam Selenium WebDriver Apabila Mereka Berkongsi Pemegang Tetingkap Yang Sama?

Bagaimana untuk Beralih Antara Tab dalam Selenium WebDriver Apabila Mereka Berkongsi Pemegang Tetingkap Yang Sama?

Patricia Arquette
Patricia Arquetteasal
2024-12-17 07:21:25413semak imbas

How to Switch Between Tabs in Selenium WebDriver When They Share the Same Window Handle?

Menukar Tab dengan Selenium WebDriver dalam Java

Dalam Selenium WebDriver dengan Java, mengautomasikan senario yang melibatkan berbilang tab boleh menimbulkan cabaran kerana berpotensi untuk mereka berkongsi pemegang tetingkap yang sama. Ini boleh menghalang percubaan untuk bertukar antara tab menggunakan kaedah pemegang suis lalai.

Masalah:

Kod yang disediakan cuba untuk mengautomasikan proses yang termasuk membuka tab baharu, melakukan tindakan di dalamnya, dan kembali ke tab asal (induk). Walau bagaimanapun, pendekatan pemegang suis tidak berjaya kerana kedua-dua tab berkongsi pemegang tetingkap yang sama. Isu ini berlaku secara khusus apabila berurusan dengan tab dalam tetingkap yang sama, tidak seperti apabila menggunakan tetingkap Firefox yang berasingan.

Penyelesaian:

Untuk menukar antara tab dengan berkesan dalam senario sedemikian, pendekatan berikut boleh digunakan:

  1. Gunakan kaedah clickDocumentLink() untuk membuka tab.
  2. Dapatkan senarai semua pemegang tetingkap terbuka menggunakan ArrayList tab = ArrayList baharu (driver.getWindowHandles());.
  3. Tukar ke tab baharu menggunakan driver.switchTo().window(tabs.get(1));.
  4. Tutup tab baharu dengan pemandu .close();.
  5. Kembali ke tab induk menggunakan driver.switchTo().window(tabs.get(0));.

Contoh Kod:

psdbComponent.clickDocumentLink();
ArrayList<String> tabs = new ArrayList<String> (driver.getWindowHandles());
driver.switchTo().window(tabs.get(1));
driver.close();
driver.switchTo().window(tabs.get(0));

Dengan mematuhi langkah-langkah ini, anda boleh berjaya bertukar antara tab walaupun apabila ia berkongsi pemegang tetingkap yang sama. Ingat untuk menukar pemacu anda kepada tab baharu sebelum mencuba sebarang tindakan di dalamnya.

Atas ialah kandungan terperinci Bagaimana untuk Beralih Antara Tab dalam Selenium WebDriver Apabila Mereka Berkongsi Pemegang Tetingkap Yang Sama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn