frame 嵌套页面定位元素方法
2017-10-10 16:57
411 查看
在使用Python+Selenium自动 frame 嵌套页面化工具进行元素定位时,经常会遇到 frame 嵌套页面,直接定位是无法定位到的,这个时候就需要通过 switch_to_frame() 方法将当前定位的主体切换了 frame 里。
以163邮箱登陆页面为例,检查输入框元素,直接使用driver.find_element_by_name()函数进行定位,会提示NoSuchElementException: Message: no such element: Unable to locate element: {“method”:”name”,”selector”:”email”}
此时就需要用到driver.switch_to_frame()函数先跳转到frame框架。具体实现代码如下(其中包含获得验证信息代码):
以163邮箱登陆页面为例,检查输入框元素,直接使用driver.find_element_by_name()函数进行定位,会提示NoSuchElementException: Message: no such element: Unable to locate element: {“method”:”name”,”selector”:”email”}
此时就需要用到driver.switch_to_frame()函数先跳转到frame框架。具体实现代码如下(其中包含获得验证信息代码):
#coding=utf-8 from selenium import webdriver from time import sleep driver=webdriver.Chrome() driver.get('http://mail.163.com/') driver.refresh() #刷新页面 driver.maximize_window() #浏览器最大化 #sleep(5) #等待 #当执行到 sleep()方法时会固定的休眠所设置的时长,然后再继续执行。 #sleep()方法默认参数以秒为单 位,如果设置时长小于1秒,可以用小数 #点表示,如:sleep(0.5) #nowhandle = driver.current_window_handle #得到当前窗口句柄 print 'Before login================' #打印当前页面title title = driver.title print title driver.switch_to_frame('x-URS-iframe') #需先跳转到iframe框架 driver.find_element_by_name('email').clear() driver.find_element_by_name('email').send_keys("XXX") sleep(5) driver.find_element_by_name('password').clear() driver.find_element_by_name('password').send_keys("XXX") sleep(5) driver.find_element_by_id('dologin').click() sleep(5) print 'After login================' #再次打印当前页面title title = driver.title print title #打印当前页面URL now_url = driver.current_url print now_url #获得登录的用户名 user = driver.find_element_by_id('spnUid').text print user
相关文章推荐
- webdrive——frame嵌套页面元素定位,多窗口切换操作,警告弹框处理
- Webdriver-Frame嵌套页面元素定位 & 多窗口切换 & 警告弹窗处理
- Selenium定位页面元素的方法
- (转)selenium页面元素定位八大方法_琉璃
- Web UI自动化测试框架搭建之九:Selenium定位web页面元素的原则、方法、工具
- Selenium示例集锦--常见元素识别方法、下拉框、文本域及富文本框、鼠标操作、一组元素定位、弹窗、多窗口处理、JS、frame、文件上传和下载
- selenium页面元素定位方法
- 定位web页面元素方法总结
- 关于利用artDialog弹出网页后访问frameset里面frame页面元素的方法
- 页面嵌套frame,Selenium定位问题
- 定位页面元素-方法汇总
- selenium 页面元素的定位方法
- 页面嵌套frame,Selenium定位问题
- 使用scrollIntoView方法定位页面元素---小结
- jquery几种页面元素定位及操作的方法
- By.Xpath快速定位页面元素常用方法
- 百度“搜索设置”之关于在页面定位某元素,而其中又参杂动态页面存在的问题解决方法
- Seleium定位页面元素方法
- iScroll4 禁止select等页面元素默认事件的解决方法 转
- robotframework使用之元素定位动态ID方法