webdriver只能在打开的当前页面上进行元素的定位,但网站建设通常采用frame/iframe框架进行嵌套,webdriver无法对嵌套的frame表单进行定位,需要切换到对应表单下进行操作
进入表单
driver.switch_to.frame(name)
name:默认取表单的id或class属性
若默认属性无法定位或者没有默认的id,class属性,则可以先对该表单进行元素定位,再将定位到的元素传给表单切换的方法中
el = driver.find_element_by_css_selector(frame)
driver.switch_to.frame(el)
frame:用css定位方式获取到的表单元素
返回默认表单
driver.switch_to.default_content()
返回上层表单
driver.switch_to.parent_frame()
若无法返回上层表单,可采用先返回到默认表单,在切换到该表单
注意
在那个表单下进行元素的定位,需要切换到对应的表单下
点击进入新的页面,表单没有变化,可直接进行元素的定位操作