html悬浮窗⼝代码_⾃动化测试简单代码
切换iframe窗⼝
selenium中的三⼤切换(handle窗⼝,iframe切换,alert弹框):
1,handle窗⼝切换:
当点击某个元素后,会重新⽣成⼀个新的页签,单此时我们的操作依然在原先的窗⼝中,如果要在新的窗⼝继续操作元素,那么就要⽤到handle窗⼝切换的⽅法。
window_handles:获取当前打开的所有窗⼝句柄,返回类型为⼀个列表。
current window handle:获取当前窗⼝的句柄。
switch to.window(handle_path) ;切换窗⼝,handle_path参数代表的是⼀个窗⼝句柄。
当操作某个元素后需要等待新的元素出现,我们⽤到了显性等待,EC给了我们⼀个⽅法为visibility_of_el
ement_located(),表⽰元素可见,那么在handle窗⼝切换时也涉及到等待,那就是等待新的窗⼝打开,我将⽤⼀般⽅法和新的⽅法来展⽰,具体⽤法如下: (使⽤time.sleep()强制等待):
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弹窗切换:
html自动弹出公告代码如何区分是alert弹框呢?⼀个简单的⽅法就是⽆法使⽤元素定位的弹框,并且需要优先处理后才能操作后⾯的元素,常⽤⽅法如下:switch_to.alert:切换到alert弹框 accept():确定 dismiss():取消 send_keys(keysToSend) :输⼊⽂本,keysToSend表⽰输⼊的⽂本内容字符串 text():获取弹出框⾥⾯的内容 在EC⾥⾯也给alert弹框设定了⼀个⽅法,alert_is_present()⽅法表⽰等待alert弹框出现并切换到alert弹框中 ⽅法⼀(常规做法):
隐式等待
wb.implicitly_wait(5)
implicitly_wait(xx),
当使⽤了隐式等待执⾏测试的时候,如果WebDriver没有在DOM中到元素,将继续等待,超出设定时间后则抛出不到元素的异常,换句话说,当查元素或元素并没有⽴即出现的时候,隐式等待将等待⼀段时间再查DOM,默认的时间是0
强制等待
这种叫强制等待,不管你浏览器是否加载完了,程序都得等待3秒,3秒⼀到,继续执⾏下⾯的代码,作为调试很有⽤,有时候也可以在代码⾥这样等待,不过不建议总⽤这种等待⽅式,太死板,严重影响程序执⾏速度。
验证码登录:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论