大庆市网站建设_网站建设公司_VPS_seo优化
2025/12/23 19:46:45 网站建设 项目流程
selenuim页面切换

webdriver只能在一个页面里对元素进行识别和定位。如果有多个页面操作的时候,要先进行页面切换。

切换分两种

1 iframe内嵌页面切换(框架集切换)

# 1 获取iframe标签 iframe = driver.find_element_by_tag_name('iframe') # 2 切换代码 driver.switch_to.frame(iframe) # 操作iframe标签元素 user_input = driver.find_element_by_xpath('//*[@id="q"]') user_input.send_keys('你好,测牛') # 切换回页面 driver.switch_to.default_content() h1 = driver.find_element_by_id('h1')

总结:

1》 切换iframe用的是driver.switch_to.frame(xxx) xxx是获取iframe标签,可以通过id或者tagname等

2 》切换回来用的是 driver.switch_to.default_content()

2 窗口切换

handle=driver.window_handles 以列表的形式返回,默认是找到页面的所有句柄

列表中最后一项目是最新打开的页面的句柄。

driver.switch_to.window(handle[-1]) 括号里要写页面句柄

注意:

操作完当前页面,如果要回到主页面,还要再次切换回去才能操作

driver.switch_to.window(handle[0])

不能使用default_content,这个只针对iframe页面使用。

实例代码:

from selenium import webdriver import os import time driver = webdriver.Chrome() driver.implicitly_wait(15) url = os.path.abspath('index3.html') driver.get(url) # 1 获取a标签,点击跳转新页面 link = driver.find_element_by_id('a') link.click() # 2 切换新页面 handle=driver.window_handles driver.switch_to.window(handle[-1]) driver.implicitly_wait(5) user_input = driver.find_element_by_id('kw') user_input.send_keys('你好') time.sleep(3) # 关闭当前标签页 driver.close() # 切换到默认页 driver.switch_to.window(handle[0]) print(link.text) driver.quit()

最后作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些软件测试的学习资料和我花了3个月整理的软件测试自学全栈,这些资料希望能给你前进的路上带来帮助。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询