selenium --iframe页面处理
一、前提
要进行iframe 切换操作首先是要判断操作元素是否存在iframe 里面。
判断方法: F12-elements 定位任意的一个元素,都会显示出它的绝对路径。如果绝对路径里有iframe 或者2个html标签,则操作元素存在iframe里。
注意:即使是再iframe 里面,F12也是可以定位到的。但是在代码里面。如果不切换到iframe的html 当中,那使用find_element 永远也找不到元素。
二、原理
操作元素在iframe 中,必须要先切换到iframe当中,然后进行元素定位操作。
三、操作方法
1) 如何切换到iframe 里
1.找到要切换的iframe ----可以通过下标/name属性/webElement 对象
2.切换到iframe: driver.switch_to.iframe(第一步拿到的iframe )
3.切换完成,以iframe 当中的html 作为主html(当前操作的html)。
2)从iframe 里切换回原来的主页面。
driver.switch_to.default_content()
四、代码示例
loc =(By.ID,'kw')
wait = WebdriverWait(driver,30,1)
wait.until(EC.visibility_of_element_located(loc)) 等待元素可见
切换iframe----name 属性
driver.switch_to.frame('js_login')
切换iframe---frame 的下标
driver.switch_to.frame[0]
切换iframe---frame 的webelement 对象
dirver.switch_to_frame(driver.find_element_by_id("kw"))

浙公网安备 33010602011771号