Rumah >Java >javaTutorial >Bagaimana untuk Beralih dengan Cekap Antara Tab Pelayar Menggunakan Selenium WebDriver dalam Java?

Bagaimana untuk Beralih dengan Cekap Antara Tab Pelayar Menggunakan Selenium WebDriver dalam Java?

Susan Sarandon
Susan Sarandonasal
2024-12-14 12:49:15245semak imbas

How to Efficiently Switch Between Browser Tabs Using Selenium WebDriver in Java?

Menukar Tab Menggunakan Selenium WebDriver dengan Java

Apabila mengautomasikan halaman web dengan Selenium WebDriver, bertukar antara tab adalah keperluan biasa. Walau bagaimanapun, apabila berurusan dengan tab dalam tetingkap yang sama, cabaran timbul kerana kedua-dua tab mungkin mempunyai pemegang tetingkap yang sama.

Masalah:

Apabila mengautomasikan senario yang melibatkan membuka tab baharu, melakukan tindakan dalam tab itu dan kembali ke tab asal (induk), menggunakan pemegang suis mungkin tidak berfungsi. Tab mungkin berkongsi pemegang tetingkap yang sama, menyebabkan penukaran antaranya tidak berkesan.

Penyelesaian 1: Jejaki Pemegang Tetingkap

Jika pemegang tetingkap tersedia, anda boleh menukar tab menggunakan langkah berikut:

ArrayList<String> tabs = new ArrayList<String>(driver.getWindowHandles());
driver.switchTo().window(tabs.get(1)); // Switch to the new tab
driver.close(); // Close the new tab
driver.switchTo().window(tabs.get(0)); // Switch back to the parent tab

Penyelesaian 2: Gunakan Tindakan Selenium (Eksperimen)

Kelas Selenium.Actions percubaan menyediakan kaedah select_window yang boleh digunakan untuk menukar tab mengikut tajuk tetingkap:

WebElement parentTab = driver.findElement(By.xpath("//ul/li/a[@id='tab1_link']"));
WebElement newTab = driver.findElement(By.xpath("//ul/li/a[@id='tab2_link']"));

Actions actions = new Actions(driver);
actions.keyDown(Keys.CONTROL).click(newTab).keyUp(Keys.CONTROL).build().perform();
actions.keyDown(Keys.CONTROL).click(parentTab).keyUp(Keys.CONTROL).build().perform();

Ingat untuk memastikan pustaka pemacu anda terkini untuk mengakses kelas Selenium.Actions.

Atas ialah kandungan terperinci Bagaimana untuk Beralih dengan Cekap Antara Tab Pelayar Menggunakan Selenium WebDriver dalam Java?. 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