selenium多表单切换
多表单嵌套的页面必须一层一层往下找,不能直接对内层页面进行操作
假设frame1的id=f1,frame2的id=f2,frame3中为百度页面,我们需要对百度页面进行操作
#当frame有id属性时,可直接定位 dr.switch_to.frame('f1') dr.switch_to.frame('f2') dr.find_element_by_id('kw').send_keys('test')
#当frame没有id属性时,可通过xpath或css方式定位 f1 = dr.find_element_by_xpath('任意定位方式') dr.switch_to.frame(f1) f2 = dr.find_element_by_xpath('任意定位方式') dr.switch_to.frame(f2) dr.find_element_by_id('kw').send_keys('test')
在百度操作完之后,退回到上层的frame
dr.switch_to.default_content() #退回到上一层表单 dr.switch_to.default_content() #执行两次退回到上上层表单