700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python自动化测试selenium(四)切换页面 切换窗口

python自动化测试selenium(四)切换页面 切换窗口

时间:2023-10-30 09:54:39

相关推荐

python自动化测试selenium(四)切换页面 切换窗口

一、切换页面

如果定位元素失败(抛出NoSuchElementException),调查网页源代码,发现这个元素位于一个frame或iframe标记的元素下的子网页(html标记)里,那么此时需要切换Frame。

切换方法一:使用frame或iframe标记的元素的id或name属性值来作为切换条件

switch_to.frame() 将当前定位的主体切换为frame/iframe表单的内嵌页面中

switch_to.default_content() 跳回最外层的页面

driver.switch_to.default_content()driver.switch_to.frame("MAINPAGE")driver.find_element(By.XPATH, "//*[@id='menuBottom']/div[5]/a/div").click()

二、切换窗口

​ 页面是存在多窗口的,但是selenium默认焦点只会在主窗口上的所有元素,不切换窗口,就不能操作除主窗口以外的窗口内元素。

每个窗口都有唯一的一个句柄值,那么我们就可以通过句柄值来完成窗口的切换操作

​ 方法:

​ 1)、driver.current_window_handle (获取当前的句柄值)

​ 2)、driver.window_handles ( 获取当前由driver启动所有窗口句柄)

​ 3)、driver.switch_to.window(handle) —> 切换窗口

from selenium import webdriverdriver = webdriver.Chrome()driver.get('file:///D:/%E6%A1%8C%E9%9D%A2/page/%E6%B3%A8%E5%86%8C%E5%AE%9E%E4%BE%8B.html')driver.find_element_by_id('ZCB').click()# 1).切换窗口操作,driver.window_handles 获取driver启动的所有窗口句柄handles = driver.window_handles# 2).切换窗口工作driver.switch_to.window(handles[-1])driver.find_element_by_id('userB').send_keys('admin9')driver.quit()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。