SF

""

iFrames / Frames trong Selenium

 iFrames / Frames trong Selenium


1. Frame là gì?

Frame có nghĩa là khung - một định dạng trong HTML dùng để sắp xếp bố cục - tạo layout và thiết kế một trang web. Frame hỗ trợ hiển thị tài liệu trên website dưới nhiều dạng khác nhau trong cùng một cửa sổ trình duyệt. 

Thẻ iFrame HTML là những inline frames được sử dụng để chèn một HTML Document bên trong một HTML Document khác.

<frameset rows = "10%,80%,10%">
	<frame id= "first" name = "top" src = "/html/top_frame.htm" />
	<frame name = "main" src = "/html/main_frame.htm" />
	<frame name = "side" src = "/html/side_frame.htm" />
</frameset>
Java

 

<iframe id="ifr" name="demo" src="demo.html" height="200" width="300"></iframe>
Java

2. Tìm frame/iframe trong Selenium

Dưới đây là một số cách tìm frame/iframe:
- Dùng ID
<iframe id="ifr" name="demo" src="demo.html" height="200" width="300"></iframe>

// switchong to a rame which has id as 'ifr'
driver.switchTo().frame("ifr")
Java

 

- Dùng Name
<iframe id="ifr" name="demo" src="demo.html" height="200" width="300"></iframe>

// switching to a frame which has name='demo'
driver.switchTo().frame(arg0)
Java

 

- Dùng Element (được dùng nhiều nhất)
<iframe id="ifr" name="demo" src="demo.html" height="200" width="300"></iframe>
<iframe id="ifr" name="demo" class='second' src="width.html" height="200" width="300"></iframe>
<iframe id="ifr" name="demo" src="width.html" height="200" width="300"></iframe>

// switch to 1st frame
driver.switchTo().frame("//iframe[@src='demo.html']")
Java

 

- Dùng Index
<iframe id="ifr" name="demo" src="demo.html" height="200" width="300"></iframe>
<iframe id="ifr" name="demo" class='second' src="width.html" height="200" width="300"></iframe>
<iframe id="ifr" name="demo" src="width.html" height="200" width="300"></iframe>

// switch to 1st frame
driver.switchTo().frame(1)
Java