html弹窗代码_自动化测试简单代码

切换iframe窗口

516b95e0d6e0b2c0867c27b308e36832.png

selenium中的三大切换(handle窗口,iframe切换,alert弹框):

1,handle窗口切换:

当点击某个元素后,会重新生成一个新的页签,单此时我们的操作依然在原先的窗口中,如果要在新的窗口继续操作元素,那么就要用到handle窗口切换的方法。

window_handles:获取当前打开的所有窗口句柄,返回类型为一个列表。

currentwindowhandle:获取当前窗口的句柄。

switchto.window(handle_path) ;切换窗口,handle_path参数代表的是一个窗口句柄。

当操作某个元素后需要等待新的元素出现,我们用到了显性等待,EC给了我们一个方法为visibility_of_element_located(),表示元素可见,那么在handle窗口切换时也涉及到等待,那就是等待新的窗口打开,我将用一般方法和新的方法来展示,具体用法如下: (使用time.sleep()强制等待):

14523bcbc3179aabed8b54a61d16bfd7.png

693aac701e0921ec67b70d168c8db7aa.png

iframe 切换:

当我们要在新的html页面操作元素,就要切换到新的html页面后才能进行接下来的操作,常用方法如下: switch_to.frame(path):切换到新的html页面,path支持下标、name、WebElement对象三种参数 switch_to.default_content():切换到主html页面 switch_to.parent_frame():切换到上一层html页面(父页面) 在iframe切换中也有等待,除了使用time.sleep()方法外,EC给了我们一个方法为frame_to_be_available_and_switch_to_it(),表示iframe有效并切换到iframe当中,它支持下标、name、WebElement对象以及元组四种方法传参。

alert弹窗切换:

如何区分是alert弹框呢?一个简单的方法就是无法使用元素定位的弹框,并且需要优先处理后才能操作后面的元素,常用方法如下: switch_to.alert:切换到alert弹框 accept():确定 dismiss():取消 send_keys(keysToSend) :输入文本,keysToSend表示输入的文本内容字符串 text():获取弹出框里面的内容 在EC里面也给alert弹框设定了一个方法,alert_is_present()方法表示等待alert弹框出现并切换到alert弹框中 方法一(常规做法):

e85496b0a9db59c4d321270d2e521bd4.png

70d4f3bf69c954f6eb1757cecfb46381.png

隐式等待

wb.implicitly_wait(5)

implicitly_wait(xx),

当使用了隐式等待执行测试的时候,如果WebDriver没有在DOM中找到元素,将继续等待,超出设定时间后则抛出找不到元素的异常,

换句话说,当查找元素或元素并没有立即出现的时候,隐式等待将等待一段时间再查找DOM,默认的时间是0

强制等待

6157fb251d281385f2c04389f7c3b037.png
这种叫强制等待,不管你浏览器是否加载完了,程序都得等待3秒,3秒一到,继续执行下面的代码,作为调试很有用,有时候也可以在代码里这样等待,不过不建议总用这种等待方式,太死板,严重影响程序执行速度。

验证码登录:

c22bc9208ccb6042ac7bb8231d0a73f0.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值