หา XPATH
ก่อน การแสดง ใด ๆ การดำเนินการ บน ใด ๆ เว็บ องค์ประกอบ หรือ ใด ๆ เว็บ ส่วนประกอบ เราต้อง บอก ตาข่าย คนขับ ที่ไหน แค่นั้น องค์ประกอบ อาศัยอยู่ ในอินเตอร์เน็ต หน้า . เราสามารถ เริ่มเห็น เว็บ องค์ประกอบ ด้วยสิ่งนี้ ตา แต่ webdriver ทำไม่ ได้ เราต้อง บอก มัน ซึ่ง ไป สำหรับสิ่งนี้ โดยเฉพาะ ที่ตั้ง และ ดำเนินการ นี้เฉพาะ การดำเนิน งาน เพื่อทำสิ่งนี้ เรา ใช้ XPath XPath อาจเป็นเส้นทาง XML สู่ อินเทอร์เน็ต ด้านใน ที่ โดม . เมื่อไหร่ก็ตามที่คุณ ไปที่ เว็บไซต์ ในเครื่องมือค้นหา โครเมียม และ ขวา คลิก เว็บไซต์ และเลือก “ดูแหล่งที่มา” คุณจะเห็น หนึ่ง HTML หน้าหนังสือ กับ ใหญ่ ชิ้น ของ HTML , CSS , โค้ด จาวา สคริปต์ จะพบว่า เว็บไซต์ เป็น ที่พัฒนา กับ ใหญ่ ชิ้น ของ HTML แท็ก
บาง ทั่วไป HTML แท็ก คือ :
div=ดิวิชั่น
สแปน=สแปน
p=ย่อหน้า
a=สมอ tag
tr= แถว ตาราง
td= ข้อมูล ตาราง
ul= รายการ ไม่เรียงลำดับ
li=รายการ รายการ
ol= รายการ ที่ซื้อ
h=หัวเรื่อง
ฉลาก
ป้อนข้อมูล
และอื่นๆ .
ส่วนประกอบเหล่านี้ ยังจัดให้ บาง คุณลักษณะ เช่นเดียวกับพวกเขา ที่สอดคล้องกัน คุณลักษณะ ค่า _
สำหรับ อี _ กรัม _ แท็ ก div ยังเสนอ แอตทริบิวต์ ‘ คลาส ‘ หรือ แอตทริบิวต์ ‘ id ‘ เป็นต้น หนึ่ง สมอ แท็ก ‘a’ ควรมี แอตทริบิวต์ ‘ href ‘ เหล่านี้ คุณลักษณะ ควรมี บาง ค่า ชอบ ระดับ ชื่อ , หรือ id ชื่อ .
ดังนั้นเราจึง สามารถใช้ ส่วนประกอบเหล่านี้ เพื่อรับ xpath ในของเรา เว็บ ส่วนประกอบ _ คุณจะพบ xpath โดยไม่จำเป็น ส่วนเสริมพิเศษใด ๆ เช่น firebug หรือ firepath เปิด เว็บไซต์ ในเครื่องมือค้นหา โครเมียม และ ขวา คลิก องค์ประกอบ ที่คุณต้องการ เพื่อรับ xpath และคลิกที่ ตรวจสอบ องค์ประกอบ _
ตอนนี้ รอบ ๆ ตรวจสอบ องค์ประกอบ หน้าต่าง กด Ctrl ส .
พื้นฐาน รูปแบบ ของ xpath คือ
//แท็ก[@attribute name=”ค่าแอตทริบิวต์”]
สมมติ มี แผนก ใน html ของใคร ระดับ คุณลักษณะ ค่า คือ “abcd” ดังนั้น ดี เขียน เช่นนี้ : //div[@class=”abcd”]
แปลว่า มอง หา a แผนก แท็ก ภายใน html ของใคร ระดับ คุณลักษณะ ค่า คือ “abcd”
เมื่อเรา เขียน เช่นนี้ //*[@class=”abcd” ] ฉัน อี _ วาง เครื่องหมาย ดอกจัน แทน แท็ก ความ หมาย คือ find ใด ๆ แท็ก ภายใน html ของใคร ระดับ คุณลักษณะ ค่า คือ “abcd”
เมื่อเรา เขียน มี เราจุด โอเปอเรเตอร์ ชอบ .//*[@class=”abcd”] ที่นี่ สหรัฐอเมริกา จุด เป็นตัวแทน โหนด เด็ก แปลว่า ที่ กำลังประมวลผล เริ่ม ใน โหนด ปัจจุบัน ที่จะกลายเป็น มากกว่า แม่นยำ หา ใด ๆ แท็ก ภายใน html ของใคร ระดับ คุณลักษณะ ค่า คือ “abcd” และเริ่มต้น กำลังประมวลผล จาก โหนด ปัจจุบัน ถ้าเรา อย่าใช้ เราจุด และเพียงแค่ เขียน //*[@class=”abcd”] มันจะ ค้นหา ระดับ กับ ค่า “abcd” ภายใน ทั้งหมด เอกสาร _
คุณควร ไกลออกไป หวังว่า เดิน ข้างใน พ่อแม่ หรือ tag gaurdian แล้ว _ ใช้ เดี่ยว เฉือน ในใจกลางของ xpath //div[@class=”abcd”]/ul/li/a สิ่ง นี้หมายความว่าอย่างไร ภายใต้ พ่อแม่ แผนก ของใคร ระดับ ค่า คือ “abcd” ค้นหา แท็ก achor นั่นคือ ภายใต้ แท็ ก ul และ li แต่ละ xpaths เหล่านี้ แสดงถึง อย่างใดอย่างหนึ่ง ส่วนประกอบ หรือ บทสรุปของ องค์ประกอบ ในอินเตอร์เน็ต หน้า .
แกน XPATH
แกน จะเป็น วิธีการ คุ้นเคยกับ หา พลวัต องค์ประกอบ _ คุณจะพบว่า โอกาสเมื่อ คุณจะพบว่า ที่ คุณลักษณะ ของ html แท็ก จะได้รับ เปลี่ยนแปลง _ สำหรับเหตุผลนี้ ของคุณ เมื่อก่อน xpath ที่เขียน จะไม่ งาน เมื่อ คุณลักษณะ มูลค่าของ ที่ แท็ก จะได้รับ เปลี่ยนแปลง _ ที่จะชนะ นี้ แกน xpath เกิดขึ้นเป็น แนะนำ . พวกเขาเป็น เพียง ฟังก์ชั่น ที่คุณสามารถใช้ได้ ภายใน xpath ของเรา ถึง เรียก ทางขวา ที่ตั้ง ไม่ว่า คุณลักษณะ เป็น ไดนามิก _ ครั้งแรก เช่น การทำงาน เป็น
1 . ประกอบด้วย ()
สมมติ มี ลักษณะเฉพาะ ค่า “btn123” และค่า ตัวเลข รูป เก็บ การเปลี่ยนแปลง , จำนวน ส่วนหนึ่ง ไม่ใช่ คงที่ มัน เก็บ การ เปลี่ยนแปลง เพื่อให้คุณสามารถ เขียน .//*[contains(@name, ‘btn’) ] สิ่งนี้หมายความว่าอะไร หา ใด ๆ แท็ก เริ่มต้นใน โหนด ปัจจุบัน ที่มี ชื่อ มี “btn” หรือ และ AND : คุณควรใช้ ‘or’ หรือ ‘and’ ภายใน xpath ของคุณ สำหรับ อี _ กรัม _ //*[@type=’submit’ or @name=’abcd’] ความหมายคือ เลือก ใด ๆ แท็ก ของใคร พิมพ์ เป็น ส่ง หรือ ชื่อ คือ “abcd” //*[@type=’submit’ and @name=’abcd’] ความหมายคือ เลือก ใด ๆ แท็ก ของใคร พิมพ์ เป็น ส่ง และ ชื่อ คือ “abcd” ดิ ความพึงพอใจ ของ ทั้งสอง เงื่อนไข เป็นสิ่ง จำเป็น
2 . เริ่มต้นด้วย()
//label[starts-with(@id,’abcd’) ]
แปลว่า มองหา ฉลาก ของใคร id เริ่มต้นด้วย “abcd”
3 . ข้อความ ()
.//td[ข้อความ()=’abcd’]
4 . กำลังติดตาม :
หา ทั้งหมด องค์ประกอบ ภายใน โดม จุดเริ่มต้น กำลังติดตาม โหนด เฉพาะ สำหรับ . อี _ กรัม _
//*[@class=’post-content’]//following:: a สิ่งนี้หมายความว่าอะไร หา ทั้งหมด สมอ แท็ก หลัง คลาส ‘โพสต์เนื้อหา ‘
คุณสามารถสังเกต มัน คือ ให้ 18 สมอ แท็ก หลัง คลาส ‘โพสต์เนื้อหา ‘
เกิดอะไรขึ้นถ้า คุณชอบ โดยเฉพาะ แท็ก ? ด้วยสิ่งนี้ คุณสามารถ ระบุ ที่ ดัชนี เช่น ด้าน ล่าง
5 . บรรพบุรุษ:
หา ทั้งหมด องค์ประกอบ ภายใน โดม จุดเริ่มต้น ก่อน โหนด เฉพาะ สำหรับ . อี _ กรัม _
//*[@class=’logoCotainer’]//บรรพบุรุษ::div
สิ่งนี้หมายความว่าอะไร หา div ทั้งหมด ก่อน คลาส ‘logoCotainer ‘
6 . ทายาท
ทั้งหมด องค์ประกอบ หลังจาก โหนด ปัจจุบัน
//*[@class=’uppermenubar’]//descendant::div
สิ่งนี้หมายความว่าอะไร หา div ทั้งหมด หลัง คลาส ‘uppermenubar ‘
7 . ก่อนหน้า
//*[@class=’navigation’]//ก่อนหน้า::div
สิ่งนี้หมายความว่าอะไร หา div ทั้งหมด ก่อนหน้านี้ คลาส “การนำทาง”
- . เด็ก
//*[@class=’uppermenubar’]//child::div
สิ่งนี้หมายความว่าอะไร หา ทั้งหมด เด็ก ดิวิชั่น (div) ของ ความซับซ้อน ‘uppermenubar’
9 . พ่อแม่
//*[@class=’navigation’]//parent::div
สิ่งนี้หมายความว่าอะไร หา div parent ของ คลาส ‘navigation’
เนื่องจาก ตอนนี้ xpaths เป็น พบ ตอน นี้คุณสามารถ พึ่งพาพวกเขา ภายใน สคริปต์ ซีลีเนียม ของคุณ เช่น ด้านล่าง
ไดรเวอร์ .findElement( โดย . xpath(“//*[@class=’navigation’]//parent::div”))
ที่นี่ โดย . xpath(“//*[@class=’navigation’]//parent::div”) จะ กลับ เอ โดย ระดับ วัตถุ . ดังนั้น ในที่สุด คือ ผ่าน เอ โดย ระดับ วัตถุ ใน วิธี findElement _
สรุป
ภายในนี้ การ บรรยาย เราได้พบ นั่น ก่อน การแสดง ใด ๆ การดำเนินการ ในอินเตอร์เน็ต องค์ประกอบ ก่อน อื่น เรา ต้อง ค้นพบ สถานที่ที่แน่นอน หรือ ถนน นั่น เว็บ องค์ประกอบ และ สั่งสอน ตาข่าย คนขับ ไปเยี่ยมชม นี้ เส้นทาง และ ดำเนินการ โดยเฉพาะ การดำเนิน งาน เว้นเสียแต่ว่า เราค้นพบ สถานที่ หรือ ถนน ตาข่าย องค์ประกอบ ว่าเราควรทำอย่างไร สั่งสอน ของเรา เว็บ คนขับ ดำเนินการ a โดยเฉพาะ การดำเนินการ กับสิ่งนั้น โดยเฉพาะ องค์ประกอบ ? สำหรับ อี _ g คุณต้อง คลิก ปุ่มควบคุม ในอินเตอร์เน็ต หน้า หรือ คุณ ต้อง ป้อนข้อมูล บาง ข้อความ ภายใน ข้อความ สนาม . ก่อนอื่น คุณ ต้องหา ที่ไหน แค่นั้น องค์ประกอบ มีอยู่ ในอินเตอร์เน็ต หน้า . การทำเช่นนี้ เรา สามารถ ค้นพบ แท็ก , คุณลักษณะ , ค่า ของปัจเจกบุคคล เว็บ ส่วนประกอบจาก ที่ หน้าหนังสือ ดู แหล่งที่มา และ เขียน xpath ของเรา