窗口 +iframe +alert切换

窗口切换  获取窗口句柄,按照索引-1切换到最新窗口

①、获取所有窗口句柄(selenium点击新的窗口不会进行窗口切换动作

handers = driver.windows_handles

类型为list 按窗口打开的顺序排列

②、显示当前窗口

driver.current_window_handle

③、窗口切换 窗口句柄为-1是最新窗口

driver.switch_to.window(handle[-1])
#当前窗口driver.current_url

iframe处理一般是:

确认元素在iframe中

确认iframe的特征

3中方法确认iframe

1、直接通过浏览器的catrl+F12  //iframe  通过索引取值

2、通过iframe的name属性

3、直接通过iframe的webelement对象

drive.switch_to_frame(drive.find_element_by_xpath(xpath表达式))

等待加操作

WebDriverWait(driver,30).until(EC.frame_to_be_available_and_switch_to_it(上面3种确认iframe的方式))

#操作完之后要继续切换到主页面
driver.switch_to.default_content()

关于iframe多层嵌套 通过一层层嵌套进入
driver.switch_to.parent_frame() #返回上一级iframe


alert切换
#进入alert
malert = driver.switch_to.alert
# 点击确认
time.sleep(0.5)
malert.accept()






原文地址:https://www.cnblogs.com/XXQQ123/p/11268268.html