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结合实现 ...
随机推荐
- java8新特性:对map集合排序
一.简单介绍Map 在讲解Map排序之前,我们先来稍微了解下map,map是键值对的集合接口,它的实现类主要包括:HashMap, TreeMap, Hashtable以及LinkedHashMap等 ...
- Oracle Spatial分区应用研究之一:分区与分表查询性能对比
1.名词解释 分区:将一张大表在物理上分成多个分区,逻辑上仍然是同一个表名. 分表:将一张大表拆分成多张小表,不同表有不同的表名. 两种数据组织形式的原理图如下: 图 1分表与分区的原理图 2.实验目 ...
- 【转帖】漏洞数量242:15,英特尔和AMD CPU谁更安全?
漏洞数量242:15,英特尔和AMD CPU谁更安全? http://www.eetop.cn/cpu_soc/6946340.html 越来越多的用户开始怀疑哪种处理器可以最好地保护他们的计算机,数 ...
- springboot2.1.7整合swagger2.9.2
什么是swagger? swagger是用于定义API文档的一个框架. 为什么要使用swagger? 当下项目开发时前后端是分离的,那么接口就成了前后端唯一的纽带.前端工程师如何知道哪个接口是干嘛的? ...
- Java基础笔试练习(九)
1.下面所示的java代码,运行时,会产生()类型的异常 ? int Arry_a[] = new int[10]; System.out.println(Arry_a[10]); A.Arithme ...
- Java开发笔记(一百一十六)采用UDP协议的Socket通信
前面介绍了如何通过Socket接口传输文本与文件,在示例代码中,Socket客户端得先调用connect方法连接服务端,确认双方成功连上后才能继续运行后面的代码,这种确认机制确保客户端与服务端的的确确 ...
- 01-打印Hello World、变量
一.打印Hello World 下面就是我们写的打印hello world程序 在go语言中://代表单行注释,/**/代表多行注释 //单行注释 /* 多行注释 多行注释 */ package ma ...
- Android--ScrollView边界回弹效果
/* * Copyright (C) 2006 The Android Open Source Project * * Licensed under the Apache License, Versi ...
- 使用PHP开发HR系统(2)
本节讲述如何创建基于CI框架的PHP程序. ============================================================================== ...
- Jmeter+Ant+Jenkins构建接口自动化测试平台(Windows)
一.首先先介绍下我的环境: 1. win10系统 2. ant版本:apache-ant-1.10.1(作用:执行脚本,便于后期的持续集成,下载地址:http://ant.apache.org/bin ...