场景

页面上弹出的对话框是自动化测试经常会遇到的一个问题;很多情况下对话框是一个iframe,如之前iframe介绍的例子,处理起来稍微有点麻烦;但现在很多前端框架的对话框是div 形式的,这就让我们的处理变得十分简单。

代码

#!/usr/bin/env python
# -*- codinfg:utf-8 -*-
'''
@author: Jeff LEE
@file: 对话框.py
@time: 2018-09-25 9:52
@desc:
'''
from selenium import webdriver
#导入WebDriverWait
from selenium.webdriver.support.ui import WebDriverWait
import time driver = webdriver.Firefox() driver.get('https://www.baidu.com/') element=driver.find_elements_by_name("tj_login") for ele0 in element:
if ele0.is_displayed():
ele0.click()
#切换用户名登录方式
user_login =WebDriverWait(driver,30).until(lambda driver:driver.find_element_by_id('TANGRAM__PSP_10__footerULoginBtn') )
user_login.click()
time.sleep(2) #输入用户名
driver.find_element_by_id('TANGRAM__PSP_10__userName').send_keys('123456')
time.sleep(2) #输入密码
driver.find_element_by_id('TANGRAM__PSP_10__password').send_keys('123456')
time.sleep(2) #提交
driver.find_element_by_id('TANGRAM__PSP_10__submit').submit()
time.sleep(2) driver.quit()

  

备注:

定位元素可以使用等待时间的方法,上面代码可自行修改

最新文章

  1. 利用注解来保存uri
  2. 看 nova-scheduler 如何选择计算节点 - 每天5分钟玩转 OpenStack(27)
  3. JavaScript事件流原理解析
  4. sqlite的常用语法
  5. Interview
  6. 移动端H5-第一课css篇
  7. Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)
  8. Servlet 利用Cookie实现一周内不重复登录
  9. BROCADE 300和MD3200扩展柜FC SAN,截图
  10. 美国政府关于Google公司2013年度的财务报表红头文件
  11. Linux驱动模型解析bus之platform bus
  12. Java基础---Java---面试题---交通灯管理系统(面向对象、枚举)
  13. 隐藏"Input"标签默认样式
  14. bootstrap之bootstrap-table插件使用心得以及实现过程
  15. django-admin 仿写stark组件action,filter筛选过滤,search查询
  16. redis-3.2 集群
  17. hdu4048
  18. RabbitMQ服务端配置详解(转自:http://www.cnblogs.com/zhen-rh/p/6884297.html)
  19. Focal Loss 的前向与后向公式推导
  20. oracle查看被锁的表和被锁的进程,杀掉进程

热门文章

  1. python redis客户端使用lua脚本
  2. js 迭代 方法
  3. css 的pointer-events 属性
  4. hadoop搭建部署
  5. 记一个pg连接数过多的异常
  6. split()方法解析
  7. 一个关于EasyUI超恶心的BUG。。。Cannot read property 'options' of undefined
  8. 使用jQuery+huandlebars遍历数组
  9. FMS Dev Guide学习笔记(远程共享对象)
  10. SQL思维导图总结