0


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 webdriver

driver = 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()

本文转载自: https://blog.csdn.net/u010835747/article/details/125501993
版权归原作者 锅锅是锅锅 所有, 如有侵权,请联系我们删除。

“python自动化测试selenium(四)切换页面、切换窗口”的评论:

还没有评论