Java Selenium จัดการองค์ประกอบใน iframe
บางครั้งเมื่อเราค้นหาองค์ประกอบเราพบว่าเราไม่สามารถค้นหาได้ไม่ว่าจะเกิดอะไรขึ้น ในเวลานี้คุณต้องตรวจสอบว่าองค์ประกอบที่คุณต้องการค้นหาอยู่ใน iframe หรือไม่
การอ่านเนื้อหา
iframe คืออะไร
IFRAME ใช้ใน HTML สำหรับหน้าเว็บเพื่อทำรังนก หน้าเว็บหนึ่งสามารถซ้อนกันในหน้าเว็บอื่นและสามารถซ้อนกันกับหลายเลเยอร์
ซีลีเนียมจัดให้มีวิธีการป้อน iframe
// ป้อน iframedr.switchto (). frame ("framea"); // กลับไปที่หน้าต่างหลัก dr.switchto (). defaultContent (); main.html
<html> <head> <title> frametest </title> </head> <body> <div id = "id1"> นี่คือหน้าหลักของหน้าหลัก! </div> <อินพุตประเภท = "ข้อความ" id = "maininput"/> <br/> <iframe id = "framea" framea " src = "frame.html"> </iframe> </body> </html>
frame.html
<html> <head> <title> นี่คือเฟรม! </title> </head> <body> <div id = "div1"> นี่คือ iframes div, </div> <อินพุต id = "iframeinput"
รหัสซีลีเนียม
Void Public Void TeriSiframe (ไดรเวอร์ webDriver) {driver.get ("e: //stashfolder//[email protected]//stash//tank-moneyproject//pudong Software Park Training Center // Bookbook ของฉัน // selenium webdriver // frame // main.html"); // driver.findelement (by.id ("maininput")). sendkeys ("อินพุตหลัก"); // ในเวลานี้ IFRAME ไม่ได้ป้อนคำสั่งต่อไปนี้จะรายงานข้อผิดพลาด //driver.findelement(by.id("iframeInput"-)).sendkeys("iframe Input "); driver.switchto (). เฟรม ("framea"); driver.findelement (by.id ("iframeinput")). sendkeys ("อินพุต iframe"); // มันไม่ได้อยู่ในหน้าต่างหลักในเวลานี้และคำสั่งต่อไปนี้จะรายงานข้อผิดพลาด //driver.findelement(by.id("maininput") ).SendKeys("Main Input "); // กลับไปที่ไดรเวอร์หน้าต่างหลัก switchto (). defaultContent (); driver.findelement (by.id ("maininput")). sendkeys ("อินพุตหลัก"); -ข้างต้นเป็นตัวอย่างขององค์ประกอบการประมวลผลซีลีเนียม Java ใน iframe เราจะจัดระเบียบข้อมูลที่เกี่ยวข้องต่อไปในอนาคต ขอบคุณสำหรับการสนับสนุนเว็บไซต์นี้!