Rumah >Java >javaTutorial >Bagaimana untuk Beralih dengan Cekap Antara Tab Pelayar Menggunakan Selenium WebDriver dalam 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!