Apabila bekerja dengan Selenium dalam Java, mencari elemen menjadi penting. Walau bagaimanapun, menghadapi ralat seperti "Bukan ungkapan XPath yang sah" boleh mengecewakan. Ralat ini berlaku apabila XPath yang disediakan melanggar peraturan sintaks tertentu.
Satu sebab biasa untuk ralat ini ialah penggunaan petikan yang tidak betul untuk nilai atribut dalam XPath. Jika anda menggunakan petikan tunggal (') untuk melampirkan XPath, anda tidak seharusnya menggunakan petikan tunggal dalam nilai atribut juga. Sebaliknya, pertimbangkan untuk menggunakan petikan berganda (").
Satu lagi isu yang berpotensi timbul apabila XPath berakhir dengan garis miring ke hadapan (/). XPath biasanya akan ditamatkan dengan elemen atau nod yang dikehendaki. Mengalih keluar garis miring ke hadapan boleh selesaikan isu.
Anggap perkara berikut tidak sah XPath:
'//*[@id='app']/article/div[2]/section/div[1]/div[5]/div/section[2]/div[2]/div[1]/'
Isu dalam XPath ini ialah:
Xpath yang betul akan jadi:
'//*[@id="app"]/article/div[2]/section/div[1]/div[5]/div/section[2]/div[2]/div[1]'
atau
"//*[@id='app']/article/div[2]/section/div[1]/div[5]/div/section[2]/div[2]/div[1]"
Menggunakan salah satu daripada XPath di atas harus menyelesaikan ralat "Bukan ungkapan XPath yang sah".
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Bukan Ekspresi XPath yang Sah' dalam Selenium Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!