首先介绍下frame标签是什么:
标签定义 frameset 中的一个特定的窗口(框架)。 frameset 中的每个框架都可以设置不同的属性,比如 border、scrolling、noresize 等等。 frame标签有三种:frame,iframe,frameset(不用切)我们来试一试
了解之后,我们先介绍下本章目录结构:
前面还是引入一些依赖包,判断一下str兼容版本,不做过多介绍了
class SwitchTo:
def __init__(self, driver):
self._driver = driver
初始化时,需传入driver对象
def frame(self, frame_reference):
"""
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])
"""
if isinstance(frame_reference, basestring) and self._driver.w3c:
try:
frame_reference = self._driver.find_element(By.ID, frame_reference)
except NoSuchElementException:
try:
frame_reference = self._driver.find_element(By.NAME, frame_reference)
except NoSuchElementException:
raise NoSuchFrameException(frame_reference)
self