在我们使用selenium进行一些元素定位的时候,会发现一些元素是属于嵌套在frame里面的,这个时候我们直接使用七种定位方式去定位会有点困难,就要先切到frame里面去。
第一种,frame里面有id或者name属性的,可以直接这样切进去:
driver.switch_to.frame('id/name')
没有id或name属性时,就需要使用xpath或者路径先定位frame,然后切进去:
a = driver.find_element_by_xpath('//*[@id="login_frame"]')#无id name
driver.switch_to.frame(a)#切换到frame里面
切进frame之后,就可以随意使用定位方法对里面的控件进行定位了。
既然有切进去的方法,那也有退出来的方法。
首先是逐级退出,使用parent_fram()退出,这样退出是返回到当前frame的上一级:
driver.switch_to.parent_frame()
有些时候,我们可能需要直接切回主目录进行元素操作,这个时候就可以使用default_content()切回主目录了。
driver.switch_to.default_content()