一、切换窗口
在测试的过程中时常会打开很多窗口,当我们需要在新窗口操作时,就需要对窗口进行切换,在Selenium中,每个窗口都有自己的唯一标识,叫做句柄,我们可以通过句柄进行窗口切换
1、获取所有窗口句柄,然后根据窗口顺序进行切换
options = webdriver.ChromeOptions()
driver = webdriver.Charme(options=options)
driver.get("url")
#获取所有窗口句柄
window_handles = driver.window_handles
#根据窗口顺序索引进行切换
driver.switch_to.window(window_handles[2]) #切换到第三个窗口
2、当窗口比较多,或者系统打开窗口的顺序不能确定时,我们可以对窗口进行遍历,根据目标窗口的特性进行切换。比如窗口的title,url地址,特定元素等
#先进行窗口切换,再判断窗口的url是不是目标url,如果等于就跳出循环
for handle in window_handles:
driver.swith_to.window(handle)
if driver.current_url = "url"
break
#先进行窗口切换,再判断窗口标题是不是等于目标标题,如果等于就跳出循环
for handle in window_handles:
driver.swith_to.window(handle)
if driver.title = "窗口标题"
break
二、关闭窗口
driver.close()
三、会话结束,退出浏览器
driver.quit()
关闭与该WebDriver会话关联的所有窗口
关闭浏览器进程
关闭后台启动进程
通知Selenium Grid浏览器不可用,以便其他会话可以使用
四、窗口大小操作
1、获取窗口大小
#获取窗口宽
width = driver.get_window_size().get("width")
#获取窗口高
height = driver.get_window_size().get("height")
2、设置窗口大小
driver.set_window_size(1024,865)
3、最大化窗口
#最大化窗口
driver.maximize_window()
4、全屏窗口
#全屏窗口
driver.fullscreen_window()
五、截图
1、全屏截图
#全屏截图
driver.save_screensgot("./1.png") #括号里写要保存的地址
2、元素截图
ele = driver.find_elemeent(By.id,"id")
ele.screenshot('../1.png')