web自动化中的窗口操作

一、切换窗口

在测试的过程中时常会打开很多窗口,当我们需要在新窗口操作时,就需要对窗口进行切换,在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')

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值