วิธีการวางตำแหน่งของ XPATH นั้นทรงพลังมาก ใช้วิธีนี้เพื่อค้นหาองค์ประกอบเกือบทุกส่วนบนหน้า
การอ่านเนื้อหา
xpath คืออะไร
XPath เป็นตัวย่อของเส้นทาง XML เนื่องจากเอกสาร HTML เองเป็นหน้า XML มาตรฐานเราจึงสามารถใช้การใช้ XPHIN เพื่อค้นหาองค์ประกอบหน้า
ข้อเสียของการวางตำแหน่ง xpath
นี่เป็นการดำเนินการที่ใช้เวลานานมาก หาก XPath ถูกใช้เพื่อค้นหาองค์ประกอบทั้งหมดของทั้งหน้าสคริปต์อาจช้าลงเล็กน้อยในการดำเนินการ
รหัส testxPath.html มีดังนี้
<html> <head> <title> ทดสอบ xpath </title> </head> <body> <div id = "div1"> <input name = "div1input"> </input> <a href = "http://www.sogou.com src = "http://www.sogou.com/images/logo/new/sogou.png" href = "http://www.sogou.com"> รูปภาพ SOGOU </img> <อินพุตประเภท = "ปุ่ม" value = "query" href = "http://www.baidu.com"> baidu search </a> <img src = "http: //www.baidu.comn/img/bdlogo.png" href = "http://ww.baidu.com"
วิธีการวางตำแหน่งเส้นทางแน่นอน
ในหน้าเว็บที่ผ่านการทดสอบค้นหาปุ่มในแท็ก div แรก
การแสดงออกของ XPath
/html/body/div/input [@value = "query"] ปุ่ม webelement = driver.findelement (by.xpath ("/html/body/div/input [@value = 'Query']"));การใช้เครื่องมือการดีบักเบราว์เซอร์คุณสามารถขอรับคำสั่ง XPath ได้โดยตรง
ข้อเสียของเส้นทางสัมบูรณ์
1. เมื่อโครงสร้างหน้าเปลี่ยนการเปลี่ยนแปลงเส้นทางจะล้มเหลวและจะต้องได้รับการยอมรับอีกครั้ง ดังนั้นจึงไม่แนะนำให้ใช้การเขียนเส้นทางแบบสัมบูรณ์
ความแตกต่างระหว่างเส้นทางสัมบูรณ์และเส้นทางสัมพัทธ์
เส้นทางที่แน่นอนเริ่มต้นด้วย "/" ให้ XPath แยกวิเคราะห์จากโหนดรูทของเอกสาร
เส้นทางสัมพัทธ์เริ่มต้นด้วย "//" ให้ XPath แยกวิเคราะห์จากโหนดองค์ประกอบใด ๆ ในเอกสาร
วิธีการวางตำแหน่งเส้นทางสัมพัทธ์
ในหน้าเว็บที่ผ่านการทดสอบค้นหาปุ่มในแท็ก div แรก
การแสดงออกของ XPath
// input [@value = "Query"] ปุ่ม WebElement = driver.findelement (by.xpath ("// input [@value = 'query']"));การวางตำแหน่งด้วยหมายเลขดัชนี
ในหน้าเว็บที่ผ่านการทดสอบค้นหาปุ่ม "แบบสอบถาม" ในแท็ก div ที่สอง
// อินพุต [2] ปุ่ม WebElement = driver.findelement (by.xpath ("// input [2]"));ใช้แอตทริบิวต์หน้าเพื่อค้นหา
วางตำแหน่งองค์ประกอบภาพแรกในหน้าทดสอบ
// img [@alt = 'div1-img1'] ปุ่ม webelement = driver.findelement (by.xpath ("// img [@alt = 'div1-img1']")));การวางตำแหน่งฟัซซี่เริ่มต้นด้วยคำหลัก
ค้นหาองค์ประกอบที่มีคำหลัก 'div1' ที่ตำแหน่งเริ่มต้นของแอตทริบิวต์ภาพ Alt
// image [start-with (@alt, 'div')]
การวางตำแหน่งฟัซซี่มีคำหลัก
ค้นหาองค์ประกอบที่มีแอตทริบิวต์ alt ที่มีคำหลัก 'G1'
// image [มี (@alt, 'g1')]]
text () ฟังก์ชั่นการวางตำแหน่งข้อความ
ค้นหาองค์ประกอบทั้งหมดด้วยข้อความ "Baidu Search"
driver.findelement (by.xpath ("//*[text () = 'baidu search']"));
ค้นหาไฮเปอร์ลิงก์ทั้งหมดด้วยข้อความ "ค้นหา"
driver.findelement (by.xpath ("// a [มี (text (), 'search')]"));
ข้างต้นคือข้อมูลการจัดเรียงตำแหน่ง Java Selenium XPath เราจะจัดเรียงข้อมูลที่เกี่ยวข้องต่อไปในอนาคต ขอบคุณสำหรับการสนับสนุนเว็บไซต์นี้!