Cara Menavigasi Nested iFrames dengan Berkesan Menggunakan Selenium WebDriver dalam Java
Dalam Selenium WebDriver, mengendalikan iFrames bersarang boleh menjadi tugas yang mencabar. Mari kita mendalami senario tertentu:
Pertimbangkan struktur HTML berikut, di mana iframe bersarang dalam iframe lain:
<code class="html"><div> <iframe id="cq-cf-frame"> <iframe id="gen367"> <body id="CQrte">...</body> </iframe> </iframe> </div></code>
Matlamat kami adalah untuk berinteraksi dengan elemen dalam kedua-dua iFrames.
Pernyataan Masalah:
Setelah memilih iframe luar dan menavigasi ke iframe dalam, cubaan untuk mengklik elemen dalam iframe luar (cth., butang OK) gagal, mengakibatkan elemen tidak dijumpai pengecualian.
Penyelesaian:
Untuk berjaya menavigasi antara iFrames bersarang dan berinteraksi dengan elemen yang diingini, ikut langkah berikut:
Pilih iFrame Luar:
<code class="java">driver.switchTo().frame("cq-cf-frame");</code>
Pilih iFrame Dalam:
<code class="java">driver.switchTo().frame("cq-gen379");</code>
Berinteraksi dengan Elemen Inner iFrame:
<code class="java">driver.findElement(By.id("CQrte")).sendKeys("Tnx");</code>
Keluar Inner iFrame:
<code class="java">// Between steps 4 and 5, remove the line: // selenium.selectFrame("relative=up"); driver.switchTo().defaultContent(); // This exits both nested frames</code>
Masukkan Semula iFrame Luar:
<code class="java">driver.switchTo().frame("cq-cf-frame");</code>
Berinteraksi dengan Elemen iFrame Luar:
<code class="java">// Continue step 6 driver.findElement(By.xpath("//button[text()='OK']")).click();</code>
Dengan menggunakan driver.switchTo().defaultContent(); sebelum memasuki semula iframe luar, kami dengan berkesan keluar dari semua bingkai bersarang dan kemudian kembali ke bingkai khusus yang kami perlukan. Ini menyelesaikan isu elemen tidak ditemui dan membolehkan kami berinteraksi dengan elemen yang diingini.
Atas ialah kandungan terperinci Bagaimana untuk Berinteraksi dengan Elemen dalam iFrames Bersarang Menggunakan Selenium WebDriver dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!