selenium-弹窗处理、窗口切换

image


### alert 弹窗处理
import time

from webdriver_helper import webdriver, get_webdriver
from selenium.webdriver import chrome



driver = webdriver.Chrome()  # 实例化 ,刚启动浏览器是空白页面
driver.maximize_window()  # 窗口最大化
driver.get("http://118.24.147.95:8086/switch_to.html")  # 访问指定页面,会遭遇弹窗

alert=driver.switch_to.alert#获取alert弹窗 现在已经不怎么用了
msg=alert.text#获取弹窗内容
print(msg)
alert.accept()#点击确定
# alert.dismiss()#点击取消
# alert.send_keys()#输入内容


png=driver.get_screenshot_as_png()
with open("a.png","wb") as f:
    f.write(png)


driver.quit()  # 退出浏览器


image

新建窗口 切换窗口

tab(关闭)

window(最大化 最小化 全屏)

import time

from webdriver_helper import webdriver, get_webdriver
from selenium.webdriver import chrome



driver = webdriver.Chrome()  # 实例化 ,刚启动浏览器是空白页面
driver.maximize_window()  # 窗口最大化
driver.get("http://118.24.147.95:8086/")  # 访问指定页面,会遭遇弹窗

driver.switch_to.new_window('tab')#在当前窗口打开新标签
driver.switch_to.new_window('window')#打开新窗口

#想在第二个窗口访问百度,跳转到百度
print(driver.window_handles)#所有窗口id
print(driver.current_window_handle)#当前窗口id

driver.switch_to.window(driver.window_handles[1])#跳转到你要去的那个窗口
driver.get("http://baidu.com")
input("按回车键继续...........")
driver.quit()  # 退出浏览器


切换iframe

import time
from webdriver_helper import webdriver, get_webdriver
from selenium.webdriver import chrome
from selenium.webdriver.common.by import By


driver = webdriver.Chrome()  # 实例化 ,刚启动浏览器是空白页面
driver.maximize_window()  # 窗口最大化
driver.get("http://118.24.147.95:8086/switch_to.html")  # 访问指定页面,会遭遇弹窗
driver.switch_to.alert.accept()
#先定位iframe
iframe=driver.find_element(By.XPATH,'html/body/iframe')
#切换iframe
driver.switch_to.frame(iframe)
el=driver.find_element(By.XPATH,'//h2')
assert el.text=='元素延迟渲染'

driver.quit()  # 退出浏览器




切换iframe(场景二)http://118.24.147.95:8086/iframe_1.html


import time
from webdriver_helper import webdriver, get_webdriver
from selenium.webdriver import chrome
from selenium.webdriver.common.by import By


driver = webdriver.Chrome()  # 实例化 ,刚启动浏览器是空白页面
driver.maximize_window()  # 窗口最大化
driver.get("http://118.24.147.95:8086/iframe_1.html")  # 访问指定页面,会遭遇弹窗

#定位iframe_2元素//*[@id="you_frame"]
iframe=driver.find_element(By.XPATH,'//*[@id="you_frame"]')
#切换iframe
driver.switch_to.frame(iframe)
ele=driver.find_element(By.XPATH,'/html/body/h2')
#断言
assert ele.text=='iframe_2'
#定位iframe_3元素 //*[@id="my_frame"]
iframe=driver.find_element(By.XPATH,'//*[@id="my_frame"]')
#切换iframe
driver.switch_to.frame(iframe)
ele=driver.find_element(By.XPATH,'/html/body/h2')
#断言
assert ele.text=='iframe_3'


#先定位iframe
# iframe=driver.find_element(By.XPATH,'html/body/iframe')
#切换iframe
# driver.switch_to.frame(iframe)
#返回上一层
# driver.switch_to.parent_frame()
#跳到顶层
# driver.switch_to.frame(0)
# input("按下回车键继续........")
driver.quit()  # 退出浏览器







posted @ 2022-10-25 23:10  NiceTwocu  阅读(609)  评论(0编辑  收藏  举报