python+selenium+chrome初级自动化操作
例1.
#coding=utf- from selenium import webdriver
import os,time chromedriver = "C:\Users\AppData\Local\Google\Chrome\chromedriver.exe"
'''
environ是一个字符串所对应环境的映像对象;
os.environ.keys() 主目录下所有的key
os.environ 显示key+内容。 windows:
· os.environ['HOMEPATH']:当前用户主目录。
os.environ['TEMP']:临时目录路径。
os.environ[PATHEXT']:可执行文件。
os.environ['SYSTEMROOT']:系统主目录。
os.environ['LOGONSERVER']:机器名。
os.environ['PROMPT']:设置提示符。
linux:
os.environ['USER']:当前使用用户。
os.environ['LC_COLLATE']:路径扩展的结果排序时的字母顺序。
os.environ['SHELL']:使用shell的类型。
os.environ['LAN']:使用的语言。
os.environ['SSH_AUTH_SOCK']:ssh的执行路径。
''' os.environ["webdriver.chrome.driver"] = chromedriver driver = webdriver.Chrome(chromedriver) driver.get("http://baidu.com")
time.sleep(3)
print (u'窗口最大化')
driver.maximize_window()
a=driver.title print a
time.sleep(1)
driver.find_element_by_id('kw').send_keys('selenium') driver.find_element_by_id('su').click() driver.quit()
例2.
#coding=utf-
from selenium import webdriver
import os,time,unittest
import log
import logging
import traceback
logger = log.Logger('e:/1/web_log.log',clevel = logging.DEBUG,Flevel = logging.INFO)
def f(n):
logger.info(n)
print n class baidu(unittest.TestCase):
def setUp(self): self.chromedriver='C:\Users\li.liu\AppData\Local\Google\Chrome\chromedriver.exe'
os.environ['webdriver.chrome.driver']=self.chromedriver
self.driver=webdriver.Chrome(self.chromedriver)
print u'驱动定义完成'
def test_baidu_search(self):
u"""百度搜索""" driver = self.driver
f(u'打开百度')
driver.maximize_window()
driver.get('http://baidu.com')
time.sleep()
print u'打开另一个网址'
driver.get('http://news.baidu.com')
print u'窗口最大化'
driver.maximize_window()
time.sleep()
print u'返回上一个网页'
driver.back()
time.sleep()
driver.forward()
time.sleep()
driver.back()
time.sleep()
driver.close()
driver.quit() def test_baidu_set(self):
driver = self.driver
driver.get('http://baidu.com')
time.sleep()
driver.find_element_by_id('kw').send_keys(u'测试')
driver.find_element_by_id('su').click()
time.sleep()
driver.find_element_by_id('kw1').clear()
driver.find_element_by_id('kw').send_keys(u'测试用例')
time.sleep()
print u'关闭浏览器'
driver.close()
print u'退出浏览器服务'
driver.quit() if __name__=="__main__": unittest.main()
a浏览器开发者模式
FireFox——>Firebug前端工具,而对于Chrome浏览器——>右键选择‘审查元素’或者快捷键 F12 ,即可看到一些开发写的code,这对于获取测试对象(测试控件)的某些属性很有帮助。
b浏览器基本操作
浏览器窗口的最大化以及大小设置,以及前进,后退
这里有几点注意:
XXXX.get(URL)转到URL地址
time.sleep(ns) 等待时间
XXXX.back( ) 返回到上一个浏览器
XXXX.forward() 前进到下一个浏览器
XXXX.set_window_size(width,height) width,height 我们可以自己根据需要设置。
XXXX.maximize() 窗口最大化
XXXX.title 得到浏览器的标题
XXXX.quit( ) 浏览器退出
XXXX.close( ) 浏览器关闭
import time —>保证脚本运行的稳定性
browser=webdriver.Chrome() —>调用Chrome浏览器
使用print()语句可以查看脚本是否运行正确
python+selenium+chrome初级自动化操作的更多相关文章
- python selenium chrome 实现自动化登录
1.环境安装 selenium的开发文档网址(英语好的可以直接看这个,写的很详细):http://selenium-python.readthedocs.io/ 因为实现的时候使用的是谷歌浏览器,在运 ...
- 【Selenium01篇】python+selenium实现Web自动化:搭建环境,Selenium原理,定位元素以及浏览器常规操作!
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 二.话不多说,直接开干,开始搭建自动化测试环境 这里以前在 ...
- 【Selenium02篇】python+selenium实现Web自动化:鼠标操作和键盘操作!
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第二篇博 ...
- 【Selenium04篇】python+selenium实现Web自动化:文件上传,Cookie操作,调用 JavaScript,窗口截图
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第四篇博 ...
- python+selenium+Chrome options参数
python+selenium+Chrome options参数 Chrome Options常用的行为一般有以下几种: 禁止图片和视频的加载:提升网页加载速度. 添加代理:用于翻墙访问某些页面,或者 ...
- 【Selenium05篇】python+selenium实现Web自动化:读取ini配置文件,元素封装,代码封装,异常处理,兼容多浏览器执行
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第五篇博 ...
- 【Selenium03篇】python+selenium实现Web自动化:元素三类等待,多窗口切换,警告框处理,下拉框选择
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第三篇博 ...
- 【Selenium07篇】python+selenium实现Web自动化:PO模型,PageObject模式!
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第七篇博 ...
- Docker环境下运行python+selenium+chrome
Docker环境下运行python+selenium+chrome docker运行时占用的资源非常少,而且能将环境进行有效的隔离,可以快速的进行部署,因此可以将docker与selenium结合实现 ...
随机推荐
- 【编程开发】x86,I386,i686, x86_64, x64,amd64、Windows Linux AIX下查看CPU位数和操作系统位数、rpm包名
a2ps-4.13b-57.2.el5.i386.rpm 每一个rpm包的名称都由"-"和"."分成了若干部分.就拿 a2ps-4.13b-57.2.el5.i ...
- Python3 列表list合并的4种方法
方法1: 直接使用"+"号合并列表 aList = [1,2,3] bList = ['www', 'pythontab.com'] cList = aList + bList ...
- python基础(二)-- 列表、字典、集合、字符串操作
4.列表: 基本操作: 索引 切片 追加 删除 长度 切片 循环 包含 import copy i=0 #persons=['dailaoban','xiekeng',['age',100,50],' ...
- Centos7挂载新硬盘
1.查看系统是否检测到新的硬盘设备 ls /dev/ |grep sd linux 中所有外设都会在这个目录下,对应一个文件,其中第一块硬盘是sda,第二块硬盘是sdb,第三块硬盘是sdc.其中sda ...
- Windows中使用 Python 调用 Matlab 程序
https://ww2.mathworks.cn/help/matlab/matlab_external/system-and-configuration-requirements.html http ...
- [转帖]Linux教程(11)- linux中的计划作业
Linux教程(11)- linux中的计划作业 2018-08-21 17:13:36 钱婷婷 阅读数 160更多 分类专栏: Linux教程与操作 Linux教程与使用 版权声明:本文为博主原 ...
- springmvc数据的封装
spring封装是进行orm封装,可以进行定义数据类型,数据名与接收名相同,进行接收,或者定义类,类的属性名与接收名相同 单个数据类型如图下: 对象类型封装: 其他:乱码处理 在中文字符乱码,需要规定 ...
- 关于WPF中的XAML
XAML全称extensible application markup language(可扩展性标记语言) 可扩展应用程序标记语言(XAML)是一种声明性语言.概括来说,就是为应用程序构建UI.目前 ...
- 2.2_Database Interface:ODBC基本概念
一.无ODBC时代 一般来讲不同的数据库厂商都有自己的数据库开发包,这些开发包支持两种模式的数据库开发; 1.预编译的嵌入模式(例如Oracle的ProC,SQL Server的ESQL) 2.API ...
- IdentityServer4使用OpenIdConnect实现单点登录
接上一篇:IdentityServer4实现OAuth2.0四种模式之授权码模式 前面写的四种OAuth2.0实现模式只涉及到IdentityServer4的OAuth2.0特性,并没有涉及到OenI ...