场景

页面上弹出的对话框是自动化测试经常会遇到的一个问题;很多情况下对话框是一个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()

  

备注:

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

Python+Selenium学习--启动及关闭浏览器的更多相关文章

  1. 【python+selenium学习】Python常见错误之:IndentationError: unexpected indent

    初入python+selenium学习之路,总会遇到这样那样的问题.IndentationError: unexpected indent,这个坑我已经踏进数次了,索性记录下来.都知道Python对代 ...

  2. Python+Selenium自动化-安装模块和浏览器驱动操作方法

    Python+Selenium自动化-安装模块和浏览器驱动操作方法 1.安装模块文件 pip install selenium 2.安装浏览器驱动 我们主要用的浏览器驱动有chrome浏览器.fire ...

  3. Python+Selenium学习--浏览器设置

    场景 设置浏览器窗口的大小有下面两个比较常见的用途: 在统一的浏览器大小下运行用例,可以比较容易的跟一些基于图像比对的工具进行结合,提升测试的灵活性及普遍适用性.比如可以跟sikuli结合,使用sik ...

  4. Python selenium + Firefox启动浏览器

    Python selenium 的运用 from selenium import webdriver # from selenium.webdriver.firefox.firefox_profile ...

  5. Python+Selenium 自动化实现实例-打开浏览器模拟进行搜索数据并验证

    #导入模块 from selenium import webdriverfrom selenium.webdriver.common.keys import Keys #启动火狐浏览器driver = ...

  6. Python+Selenium学习--前进和后退

    场景 这两个功能一般不太常用.所能想到的场景大概也就是在几个页面间来回跳转,省去每次都get url. 代码 #!/usr/bin/env python # -*- coding:utf-8 -*- ...

  7. Python+Selenium学习--打印当前页面的title及url

    场景 测试中,访问1个页面然后判断其title是否符合预期是很常见的1个用例,所谓用例不够,title来凑就是这个道理.更具体一点,假设1个页面的title应该是'hello world', 那么可以 ...

  8. Python+Selenium学习--访问连接

    场景 web UI测试里最简单也是最基本的事情就是访问1个链接了. 在python的webdrive中,访问url时应该使用get方法. 代码 #!/usr/bin/env python # -*- ...

  9. python + selenium 学习笔记 -摘要

    一.浏览器操作相关 from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() # 窗口最大 ...

随机推荐

  1. element——message-box

    `${action}`可以捕获用户选择cancel还是confirm,然后进行相应操作 官方文档:http://element-cn.eleme.io/#/zh-CN/component/messag ...

  2. png 2 icon

    http://www.easyicon.net/covert/ 这个网页可以转换png图片为icon格式

  3. Tomcat命令

    如果原始内存不够用经常内存溢出,可以在catalina.bat中设置: 电脑2G内存的情况 :set JAVA_OPTS='-server -Xms1024m -Xmx1536m -XX:PermSi ...

  4. APP-7-百度地图移动轨迹

    1.代码部分 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <me ...

  5. pod引用第三方库的几种方式

    pod引用库的原理,本质上是去找.podspec文件,podspec中包含库的地址及最新的版本号(tag标签),如果pod时没有指定版本,则pod install时会去下载podspec文件中指定的最 ...

  6. eclipse 使用Maven deploy命令部署构建到Nexus

    转载于:http://blog.csdn.net/jun55xiu/article/details/43051627 1  应用场景:SYS-UTIL(系统工具)项目部署.构建成JAR包(SYS-UT ...

  7. Delphi 字符串截取函数

    如果要使用LeftStr,RightStr,MidStr必需引用系统单元StrUtils; 声明变量Str:string; Str:=HelloWorld; 1,LeftStr(Str,2)=He;/ ...

  8. VsCode 使用习惯设置(备份)

    { "window.menuBarVisibility": "toggle", "workbench.statusBar.visible": ...

  9. 直接在浏览器运行jsx及高版本的js代码

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  10. match()方法解析

    match()方法支持正则表达式的String对象的方法. 上篇我说了search()方法,也支持正则表达式的String对象,那么match()方法跟search()方法有什么不同呢?我们来看看. ...