Berurusan dengan borang web dinamik selalunya merupakan salah satu halangan terbesar dalam ujian automasi web, dan menggunakan Selenium WebDriver boleh mengautomasikan penyemak imbas dengan berkesan. Walaupun set ciri yang berkuasa untuk berinteraksi dengan elemen tapak web, pengendalian jadual dinamik memerlukan teknik tambahan untuk mengekstrak dan mencari data dengan cekap dalam kes ini, Java menyediakan pelbagai kaedah untuk membantu mengendalikan jadual dinamik dengan lancar;
Menggunakan kebolehsuaian dan kefungsian Selenium WebDriver di Java, penguji dapat menggunakan jadual web dinamik dengan berkesan dengan mengautomasikan interaksi antara sel atau baris dengan cekap dan tepat. Dalam tutorial ini, kami akan merangkumi strategi dan amalan terbaik untuk bekerja dengan jadual dinamik menggunakan Selenium WebDriver secara khusus, cara menavigasi jadual dinamik dengan cekap dan tepat melalui Selenium WebDriver.
Selenium WebDriver ialah perpustakaan Java yang semakin popular yang direka untuk mengautomasikan pelayar web. Dengan API yang berkuasa untuk berinteraksi dengan elemen tapak web, melakukan tindakan dan mendapatkan maklumat daripada halaman, Selenium WebDriver menyediakan penyelesaian yang berkuasa untuk mengautomasikan sesi penyemak imbas.
Untuk menggunakan Java dengan Selenium WebDriver, anda perlu terlebih dahulu memasang pemacu yang sesuai untuk setiap penyemak imbas web (Chrome/Firefox, dll.) dan menambah kebergantungan Selenium pada projek anda.
Setelah konfigurasi selesai, anda boleh membuat contoh antara muka WebDriver dan melancarkan tetingkap penyemak imbas web. Dari sini, anda boleh menavigasi ke URL yang berbeza menggunakan kaedah seperti findElement() dan sendKeys(), dan melakukan tindakan seperti mengklik, menyerahkan borang atau mengekstrak data.
WebDriver driver = new ChromeDriver();
Berikut ialah beberapa cara untuk mengendalikan borang web dinamik dalam Java menggunakan Selenium WebDriver.
Gunakan XPath
XPath ialah bahasa yang elegan dan berkuasa untuk mencari elemen dalam dokumen XML, termasuk tapak web. XPath amat berharga apabila bekerja dengan borang web dinamik menggunakan Selenium WebDriver dan Java.
Untuk memproses borang web dinamik dengan berkesan, anda perlu menyemak strukturnya terlebih dahulu dan mengenal pasti sifat atau corak individu yang boleh berfungsi sebagai blok binaan untuk ekspresi XPath. Dengan menggunakan fungsi seperti position(), contains(), atau starts-with(), anda boleh mengendalikan perubahan baris atau lajur dan menyesuaikan diri dengan halaman web yang berbeza.
Setelah ungkapan XPath anda selesai, WebDriver menyediakan kaedah findElement() atau findElements(), yang menggunakan ungkapan sebagai pencari dan membenarkan interaksi yang cekap dengan kandungannya
Cari dan kenal pasti struktur dan elemen borang web dinamik yang ingin anda akses.
Semak sebarang atribut atau corak unik yang boleh membantu mencipta ungkapan XPath untuk mencari elemen yang dikehendaki.
Buat ungkapan XPath berdasarkan atribut atau corak yang dikenal pasti.
Instantiate contoh WebDriver dan navigasi ke tapak web yang mengehos jadual dinamik.
Gunakan kaedah findElements() WebDriver untuk lulus dalam ungkapan XPath sebagai pencari
Dapatkan semula elemen yang sepadan dengan ungkapan XPath sebagai senarai
Menyemak imbas senarai elemen membolehkan pengguna mengakses data yang diperlukan atau melakukan tindakan yang diingini.
Kendalikan sebarang pengecualian atau ralat yang berlaku sepanjang proses
Selepas anda selesai menggunakan borang web dinamik, tutup WebDriver untuk menutup
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; public class DynamicWebTableExample { public static void main(String[] args) { // Set up ChromeDriver path System.setProperty("webdriver.chrome.driver", "path/to/chromedriver"); // Create ChromeDriver instance WebDriver driver = new ChromeDriver(); // Open the webpage driver.get("https://www.techlistic.com/2017/02/automate-demo-web-table-with-selenium.html"); // Locate the table element WebElement table = driver.findElement(By.xpath (//*[@id="post-body-1325137018292710854"]/div[1]/div[1]/div[5]/table/thead/tr/th[1]")); // Find all rows in the table List<WebElement> rows = table.findElements(By.xpath(".//tr")); // Iterate through each row and print cell values for (WebElement row : rows) { List<WebElement> cells = row.findElements(By.xpath(".//td")); for (WebElement cell : cells) { String cellText = cell.getText(); System.out.println(cellText); } } // Close the browser driver.quit(); } }
Sila ambil perhatian bahawa "path/to/chromedriver" mesti digantikan dengan lokasi sebenar ChromeDriver boleh laku pada sistem anda.
Structure Country City Height Built Rank … Burj Khalifa UAE Dubai 829m 2010 1 Clock Tower Hotel Saudi Arabia Mecca 601m 2012 2 Taipei 101 Taiwan Taipei 509m 2004 3 Financial Center China Shanghai 492m 2008 4
Pemilih CSS menyediakan cara yang cekap untuk mencari elemen dengan cepat apabila bekerja dengan borang web dinamik menggunakan Selenium WebDriver dan Java. Dengan memerhatikan struktur jadual dengan teliti, anda boleh mengenal pasti atribut atau corak tertentu yang boleh disasarkan menggunakan pemilih CSS, seperti nama kelas, jenis elemen atau nilai atribut semuanya boleh membantu! untuk akses mudah kepada elemen. Kaedah
WebDriver's findElement() atau findElements() menyediakan cara yang cekap untuk mencari elemen dalam jadual web dinamik dengan menghantar pemilih CSS sebagai elemen pencari dan membolehkan anda berinteraksi dengan cekap dengan elemen Diperlukan untuk berinteraksi dengan
Gunakan pemilih CSS untuk mencari atribut atau corak unik dalam struktur jadual web dinamik.
Buat pemilih CSS berdasarkan sifat atau corak yang dikenal pasti.
Inisialisasikan Pemacu Web dan navigasi ke tapak web dengan borang web dinamik.
Gunakan kaedah findElements() WebDriver dan gunakan pemilih CSS sebagai pencari untuk menggunakan fungsi findElements()nya
Dapatkan senarai elemen yang sepadan dengan pemilih CSS secepat dan seefisien mungkin
Semak imbas senarai elemen untuk mengakses maklumat yang anda perlukan atau lakukan langkah yang anda mahu
Kendalikan sebarang pengecualian atau ralat yang berlaku semasa proses
完成动态网页表格的工作后,关闭WebDriver。
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; public class DynamicWebTableExample { public static void main(String[] args) { // Set up ChromeDriver path System.setProperty("webdriver.chrome.driver", "path/to/chromedriver"); // Create ChromeDriver instance WebDriver driver = new ChromeDriver(); // Open the webpage driver.get("https://www.techlistic.com/2017/02/automate-demo-web-table-with-selenium.html"); // Locate the table element WebElement table = driver.findElement(By.cssSelector("tsc_table_s13")); // Find all rows in the table List<WebElement> rows = table.findElements(By.cssSelector("tr")); // Iterate through each row and print cell values for (WebElement row : rows) { List<WebElement> cells = row.findElements(By.cssSelector("td")); for (WebElement cell : cells) { String cellText = cell.getText(); System.out.println(cellText); } } // Close the browser driver.quit(); } }
Structure Country City Height Built Rank … Burj Khalifa UAE Dubai 829m 2010 1 Clock Tower Hotel Saudi Arabia Mecca 601m 2012 2 Taipei 101 Taiwan Taipei 509m 2004 3 Financial Center China Shanghai 492m 2008 4
在本教程中,我们已经看到,在Java中使用Selenium WebDriver管理动态Web表格是Web自动化和数据提取任务中的关键技能。通过使用XPath或CSS选择器等定位器,开发人员可以快速定位表格元素,并有效地导航行和列以提取相关数据。
动态网页表格使得能够高效处理大量的信息,并根据特定条件采取适当的行动,提取有价值的数据以供进一步分析、存储或验证。通过正确理解和执行Java中的Selenium WebDriver,开发人员能够在使用Selenium WebDriver自动化各种工作流程时有效地处理动态表格-通过Selenium WebDriver自动化数据驱动的工作流程
Atas ialah kandungan terperinci Bagaimana untuk mengendalikan borang web dinamik menggunakan Selenium WebDriver di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!