前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Selenium与页面的交互实战

Selenium与页面的交互实战

作者头像
测试小兵
发布2020-04-26 22:09:36
8000
发布2020-04-26 22:09:36
举报
文章被收录于专栏:猪圈子

在学习UI自动化后我们使用到的selenium提供了许多API方法与页面进行交互,如点击、键盘输入、打开关闭网页、输入文字、等 ( selenium之键盘事件实战 )

webdriver对浏览器提供了很多属性来对浏览器进行操作,常用的如下代码,代码中每个操作都有指定的备注

代码语言:javascript
复制
#-*-coding:utf-8-*-#authou:shichao
from selenium import webdriverimport time as tdr = webdriver.Chrome()
# 获取执行的浏览器.nameprint('执行的浏览器为:{0}'.format(dr.name))
# 浏览器最大化.作用在于测试UI界面时页面窗口分辨率大小,一般使用最大化测试最佳,方法为.maximize_windowdr.maximize_window()
# 打开访问地址.打开测试地址用到的方法是get方法,它的参数是要打开的测试页面的地址。例如,要测试打开百度(http://www.baidu.com)dr.get('http://www.baidu.com')
t.sleep(1)# 刷新.用户页面数据更新或者刷新结果等需要使用到dr.refresh
t.sleep(2)# 获取访问的页面地址print('get_baidu_ulr:{0}'.format(dr.current_url))
t.sleep(2)# 获取腾讯百度搜索页登录页的代码print('页面代码:{0}'.format(dr.page_source))
t.sleep(10)dr.quit()# 关闭程序.在Selenium中,quit 方法用来退出驱动程序(Driver)并关闭执行的浏览器;而close方法用来关闭执行的浏览器,所以关闭程序建议使用quit方法。

多窗口实践 : 窗口处理的方法,current_window_handle 用来获取当前浏览器的窗口句柄,window_handles 用来获取浏览器的所有窗口句柄。如下,实现在新浪登录页面点击注册,在注册页面邮箱地址输入框中输入邮箱地址,再次跳转到登录页面。

代码语言:javascript
复制
#-*-coding:utf-8-*-#authou:shichaofrom selenium import webdriverimport time as t
dr = webdriver.Chrome()dr.maximize_window()dr.get('https://mail.qq.com/')dr.implicitly_wait(10)  # 隐形等待 10秒print('get_mail_title:{0}'.format(dr.title))# 获取腾讯微博页面的标题t.sleep(1)JB = dr.current_window_handle# 获取当前登录页窗口的句柄print('当前登录页窗口句柄:', JB)t.sleep(5)dr.switch_to.frame('login_frame')# 进入frame页面内t.sleep(3)dr.find_element_by_xpath('//*[@id="forgetpwd"]').click()# 点击qq邮箱的忘了密码t.sleep(3)JBS = dr.window_handles# 获取当前窗口句柄集权合(列表类型)for JBK in JBS:    #判断JB不是当前窗口句柄    if JBK != JB:        dr.switch_to.window(JBK)        # driver.switch_to.window(handles[num]) # 跳转到第num个窗口,从0开始 多种写法        t.sleep(1)        dr.close()        #关闭注册页面
#切换到登录页面dr.switch_to.window(JB)t.sleep(1)dr.refresh()# 刷新页面dr.quit()

以上就是UI自动化中与页面常操作交互,后期会持续更新,简单操作,只求每天进步一点,python都不断地更新,你能力还不更新,还在等什么.

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python测试社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档