Selenium多層frame切換操作
阿新 • • 發佈:2018-11-27
假如頁面結構為
<frameset>
<frame id="fr1">
...
<frame id="fr2">...</frame>
...
</frame>
...
</frameset>
frameset 不用切換,但在frame中操作元素需要切換。
切換frame可以用:index、id、name 、webelement任意種方式切換。
原始碼描述: """ Switches focus to the specified frame, by index, name, or webelement. :Args: - frame_reference: The name of the window to switch to, an integer representing the index, or a webelement that is an (i)frame to switch to. :Usage: driver.switch_to.frame('frame_name') driver.switch_to.frame(1) driver.switch_to.frame(driver.find_elements_by_tag_name("iframe")[0]) """
要操作id=“fr1”中的元素,則需先切換,eg:
driver.switch_to.frame("fr1")
操作完後需退出當前的frame,eg:
driver.switch_to.default_content()
操作id="fr2"中的元素,則需要一層一層切換,eg:
driver.switch_to.frame("fr1")
driver.switch_to.frame("fr2")
在此,fr2中操作完後,還要操作fr1中元素的話,則使用
driver.switch_to.parent_frame()
切換到上級的frame;
此時,當前還是在fr1中,則需要再次切換,切換到主文件的元素
driver.switch_to.default_content()