Selenium入门19 捕获异常】的更多相关文章

脚本出现异常时会中断执行,想要继续执行就要做异常处理: 1 try ... except .... else   遇到异常显示异常信息: 没有异常继续执行else后面的脚本 2 try ... except ... finally    遇到异常显示异常信息:不管有无异常都会执行finally后面的脚本 #coding:utf-8 #异常 from selenium import webdriver dr = webdriver.Firefox() dr.get("http://www.baid…
From: https://blog.csdn.net/u013258415/article/details/77750214 Selenium入门 欢迎阅读Selenium入门讲义,本讲义将会重点介绍Selenium的入门知识以及Selenium的前置知识. 自动化测试的基础 在Selenium的课程以前,我们先回顾一下软件测试的基本原理,为我们进一步完成Selenium自动化测试做好准备. 软件测试的发展 传统软件测试 G.J.Myers在其经典的著作<软件测试艺术>(The Art of…
Selenium入门 欢迎阅读Selenium入门讲义,本讲义将会重点介绍Selenium的入门知识以及Selenium的前置知识. 自动化测试的基础 在Selenium的课程以前,我们先回顾一下软件测试的基本原理,为我们进一步完成Selenium自动化测试做好准备. 软件测试的发展 G.J.Myers在其经典的著作<软件测试艺术>(The Art of Software Testing)一书中,给出了测试的定义: “程序测试是为了发现错误而执行的过程.” 这个概念产生于30年前,对软件测试的…
Selenium 入门到精通系列 PS:Checkbox方法 例子 HTML: <html> <head> <title>测试页面</title> </head> <body> <form action="" method="get">您喜欢的水果?<br /><br /> <label><input name="Fruit&quo…
Selenium 入门到精通系列 PS:显式等待.隐式等待.强制等待方法 例子 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2019-04-23 16:12:33 # @Author : BenLam # @Link : https://www.cnblogs.com/BenLam/ from selenium import webdriver from selenium.webdriver.common.by import B…
Selenium 入门到精通系列 PS:鼠标右键.鼠标悬停.键盘操作方法 例子 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2019-04-23 16:12:33 # @Author : BenLam # @Link : https://www.cnblogs.com/BenLam/ from selenium import webdriver from selenium.webdriver.common.action_chai…
Selenium 入门到精通系列 PS:Driver_Element 常用方法 例子 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2019-04-23 16:12:33 # @Author : BenLam # @Link : https://www.cnblogs.com/BenLam/ from selenium import webdriver driver=webdriver.Firefox() driver.get("…
Selenium 入门到精通系列 PS:用户登录 例子 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2019-04-23 16:12:33 # @Author : BenLam # @Link : https://www.cnblogs.com/BenLam/ from selenium import webdriver driver=webdriver.Firefox() driver.get("http://www.baid…
Selenium 入门到精通系列 PS:控制浏览器窗口大小.前进.后退.刷新 例子 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2019-04-23 16:12:33 # @Author : BenLam # @Link : https://www.cnblogs.com/BenLam/ from selenium import webdriver driver=webdriver.Firefox() one_url='http…
取元素的text,属性get_attribute,标签名tag_name 操作元素:send_keys输入,click点击,submit提交,clear清除输入 状态判断:is_display,is_enabled,is_selected   #coding=utf-8 #元素的操作 from selenium import webdriver import time driver = webdriver.Firefox() driver.get("https://cn.bing.com&quo…
selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等. 环境配置: 1.Windows系统 2.Python3.5(已经安装好pip) 3.Chrome浏览器(下载地址:https://pc.qq.com/detail/1/detail_2661.html) 安装Selenium: 推荐使…
作为一个测试,在最近两年应该有明显的感觉.那就是工作变的难找,要求变的高了,自动化测试,性能测试等.没有自动化测试能力,只会点点点工作难找不说,工资也不高.所以还是要学习一些技术.首先要学习一门编程语言.然后自动化入门可以学习selenium.有java基础可以使用java.没有语言基础的推荐学习python3.网上的教程很多,推荐廖雪峰的python教程. selenium的学习更多是个入门,过渡的作用.感觉其实ui自动化很少用.而且能测试到的东西较少.之后可以继续去学习接口自动化相关的东西.…
selenium安装介绍 selenium是web浏览器的自动化工具 官网:https://www.selenium.dev 构成: WebDriver: 浏览器提供的浏览器api来控制浏览器(模拟用户操作) IDE: 可以录制用户的操作(录制工具) Grd:分布式,可以在多个浏览器进行操作 selenium架构图 原理:在客户端(client)用不同的语言对selenium脚本进行编写-->将脚本传送给selenium服务器(driver)-->服务器调用相应的浏览器驱动来启动对应的浏览器并…
我本身也是一个初学者,就顺手记录一下自己的成长记录,共勉 1, 登录selenium官方网站,download 相关的插件. http://docs.seleniumhq.org/ 我用的是eclipse,想用python脚本来drive selenium, 所以还需要装 Pydev 插件(在eclipse中可以手工加载,将在其他博客中提到) 和 PyAPI 插件(从Selenium官网下载),如何安装这些插件呢? https://pypi.python.org/pypi/selenium py…
有时候需要把一些浏览器当前窗口截图下来,比如操作抱错的时候.WebDriver类下.get_screenshot_as_file()方法可窗口截图,需要传入一个截图文件名的路径.window要用\\当做路径符 from selenium import webdriver import time dr = webdriver.Firefox() dr.get('https://www.baidu.com') dr.find_element_by_id('kw').send_keys('seleni…
有时有些功能需要通过js来执行,比如拖动浏览器的滚动条.通过execute_script()方法可以执行js的代码 window.scrollTo()可以传两个参数,第一个参数是下方滚动条的位置,第二个参数是右边滚动条的参数 from selenium import webdriver import time dr = webdriver.Firefox() dr.get('https://www.baidu.com') dr.set_window_size(600,600)#设置浏览器大小,让…
上传文件一种方式是通过定位input标签,然后使用send_keys()方法传入需要上传文件的路径.另一种是使用第三方插件去上传文件.下面看下imput标签的方式.工具可以自己查下. <!DOCTYPE html> <html> <head> </head> <body> <form action="demo_form.php"> <input type="file" name="…
可以把cookie理解为自己账户的身份证.因为http协议是无状态的,上一个请求和下一个请求没有关系.但是有时需要有关联.比如登录之后,才能进行操作这样的设置.这个就是cookie在起作用.登录成功时,服务器会给浏览器一个cookie,浏览器会解析存在本地.然后同一个网站,下一次请求时就会把这个cookie带上,告诉服务器是哪个用户在操作.在关闭浏览器时cookie有效期结束. WebDriver提供了一些用来操作cookie的方法: get_cookies():获得cookie所有信息,返回的…
在WebDriver中要处理JS生成的alert.confirm以及prompt,需要使用到switch_to_alert()定位到alert/confirm/prompt,然后再使用text.accept().dissmiss().send_keys()等方法进行操作. text:获得alert/confirm/prompt中的文本信息 accept():接受警告框 dissmiss():关闭警告框 send_keys():发送文本信息到警告框 from selenium import web…
在打开新的浏览器窗口时,如果要定位新窗口的元素,需要先切换到这个新打开的窗口中,才能定位到该窗口下的元素. current_window_handle:获取当前句柄.可以把句柄理解成窗口的身份证 window_handles:获取所有打开窗口的句柄 from selenium import webdriver import time dr = webdriver.Chrome() dr.get('https://www.baidu.com') dr.maximize_window() win_h…
当元素在ifarm或farm中时,需要先进入到表单中,然后才能定位元素进行操作.直接对元素定位.会提示元素无法找到. <!DOCTYPE html> <html> <head> </head> <body> <iframe id = 'if' src="https://www.baidu.com" width="800" height='300'> </iframe> </bo…
Keys类提供了键盘上几乎所有按键的方法.通过send_keys()方法不仅可以用来模拟键盘输入,还可以用它来模拟键盘上的按键.包括组合键,比如Ctrl+a等 需要导入Keys类 from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.keys import Keys from selenium import webdriver import time dr = webdriver.Chrome…
使用click()可以模拟鼠标的左键点击事件,现在的web页面中有很多其他的鼠标交互方式,比如鼠标右击.双击.悬停.鼠标拖放等功能.在WebDriver中,将这些关于鼠标操作的方法封装在ActionChains类. 导入ActionChains类 from selenium.webdriver.common.action_chains import ActionChains ActionChains类常用的方法: context_click():鼠标右键 double_click():鼠标双击…
在使用selenium进行操作时,有时候在定位元素时会报错.这可能是因为元素还没有来得及加载导致的.可以等过元素等待,等待元素出现.有强制等待,显式等待,隐式等待. 强制等待 就是之前文章中的time.sleep(),只是为了看到界面操作效果才那样设置的.这个是不管找没找到都会等待的.基本代码中不会用这个. 显式等待 WebDriverWait类是WebDriver提供的等待方法.在设置的时间内,会每隔一段时间去检查一次当前页面元素是否存在,如果超过设置时间还没有见到到就抛出异常.具体格式如下:…
WebDriver主要提供元素操作的方法,但也提供了一些关于浏览器操作的方法,比如设置浏览器大小,浏览器前进,后退,刷新等 设置浏览器大小 有时候需要设置浏览器大小,比如访问收集网页,设置浏览器大小跟手机一样大的尺寸,比如(480*800) from selenium import webdriver dr = webdriver.Chrome() dr.set_window_size(480,800) 浏览器最大化 from selenium import webdriver dr = web…
学习了元素定位之后,来看一些元素的操作,还有一些常用的方法 clear()清空输入框内容 click()点击 send_keys()键盘输入 import time from selenium import webdriver dr = webdriver.Chrome() dr.get('https://www.baidu.com')#打开百度 st = dr.find_element_by_name('wd')#定位搜索框 st.send_keys('测试一下')#输入内容 time.sle…
我们在对浏览界面做操作时,比如点击按钮,搜索框输入内容.都需要把鼠标挪过去,然后再点击,或者输入内容.在selenium操作时也是一样的.需要先对元素进行定位,然后才能进行操作.可以借助浏览器的开发者工具(浏览器F12打开)来查看网页对应的html代码.然后进行定位.可以稍微学习HTML基础,更容易理解. 定位方式有八种,这八种各有两个方法,一个是find_element_by_方式,这是定位单个元素的.一个是find_elements_by_方式,这是用来定位多个元素的. 使用name属性定位…
操作谷歌浏览器同样也需要下载相应的driver插件,官网下载.也可以从我的网盘下载,不过可能不是最新的,网盘地址.打开谷歌浏览器的操作和火狐的差不过. from selenium import webdriver dr = webdriver.Chrome() dr.maximize_window() dr.get('https://www.baidu.com') dr.close() webdriver.Chrome()初始化一个谷歌浏览器的实例,maximize浏览器最大化.get()打开相…
使用selenium打开浏览器的时候,需要先去selenium官网下载一个对应浏览器的的driver插件.selenium下载.官网在国外可能打不开.或者可以从我网盘下载,但可能不是最新的网盘链接.将下载好的文件解压出来,将.exe文件放到python3的安装目录下即可. from selenium import webdriver dr = webdriver.Firefox() dr.get('https://www.baidu.com') dr.close() webdriver.Fire…
from selenium import webdriver打开浏览器 driver = webdriver.Chrome() 打开网页 driver.get("http://www.baidu.com") 最大化浏览器 driver.maximize_window() 关闭浏览器 driver.quit() 浏览器向前 driver.forward() 浏览器向后 driver.back() 刷新浏览器 driver.refresh() 定位元素 # 获取单个元素 driver.fi…