企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] ## 概述 遇到frame/iframe表单,需要通过 `switch_to.frame() `方法进行定位 ## 实例 html ``` <html> <body> ... <iframe id="x-URS-iframe" ...> <html> <body> ... <input name="email" > ``` 定位表单 ``` from selenium import webdriver driver = webdriver.Chrome() driver.get("http://www.126.com") driver.switch_to.frame('x-URS-iframe') driver.find_element_by_name("email").clear() driver.find_element_by_name("email").send_keys("username") driver.switch_to.default_content() driver.quit() ``` switch_to.frame() 默认可以直接取表单的id 或name属性,如果iframe没有可用的id和name属性 ``` …… #先通过xpth定位到iframe xf = driver.find_element_by_xpath('//*[@id="x-URS-iframe"]') #再将定位对象传给switch_to.frame()方法 driver.switch_to.frame(xf) …… # 最外层的页面 driver.switch_to.parent_frame() ```