IFRAME是HTML标签,作用是文档中的文档,或者浮动的框架(FRAME)。iframe元素会创建包含另外一个文档的内联框架(即行内框架) -来自百度百科
iframe,又叫浮动帧标记,是内嵌的网页元素,可以将一个html文件嵌入到另一个html文件中显示
一般这种网页元素我们需要进行切入之后才能定位到具体的元素,如何做呢?下面代码是一种方法,并不能执行。
from selenium import webdriver import time driver = webdriver.Chrome() driver.implicitly_wait(5) # 隐式等待 driver.get("http://www.xxx.com") #打开网页 """ 对iframe进行操作,需要用到以下三种方法: switch_to_iframe() 切换到iframe上(未来会被删除,不建议使用) switch_to.frame() 切换到iframe上 switch_to.default_content() 切换回原主页面 """ iframe = driver.find_element_by_id("f91fsd") #定位到内嵌的iframe网页 driver.switch_to.frame(iframe) #切入到iframe driver.find_element_by_id("sw").send_keys("test") #然后对元素进行操作 driver.switch_to.default_content() #回到主页面,这一步一定要记得,有很多初学者会忘记写这一步导致无法定位到原页面元素 time.sleep(5) driver.quit()
看完代码相信你对iframe有一个大概的了解,其实你把里面的iframe当做你的卧室,原来的主页面当做客厅,你从客厅需要进入到卧室,必须打开卧室的门,这一步骤就是切入
这时候你又想去客厅去拿杯子,就需要从卧室出去,出去这一步骤就是切出(回到主页面)。这样说的话是不是容易理解了。