【虫师讲Selenium+Python】第三讲:操作测试对象
一、首先呢,选择一个编辑器,我们这里选择的是Sublime Text
>Ctrl+B为运行当前脚本的快捷方式

二、编写代码
#coding==utf-8
from selenium import webdriver
from time import sleep driver=webdriver.Chrome()
driver.get("http://www.baidu.com")
#driver.get("http://m.mail.10086.cn") print("浏览器最大化")
driver.maximize_window() #将浏览器最大化显示
'''
#参数数字为像素点,当测试一个手机屏幕的时候,就有必要将浏览器的大小设置为手机屏幕的大小
print("设置浏览器宽480、高800显示")
driver.set_window_size(480,800) #400代表宽度,800代表高度
'''
driver.find_element_by_link_text(u"新闻").click() sleep(2)
#访问新闻页面
first_url="http://news.baidu.com"
print("back to %s" %(first_url))
driver.back()
sleep(2) #前进到新闻页
second_url="http://news.baidu.com"
print("forward to %s"%(second_url))
driver.forward()
sleep(2)
2.鼠标事件、键盘事件
3.设置等待时间

1)sleep(3) #固定休眠时间3s
2) driver.implicitly_wait(30) #添加只能等待30s,如果30s只能之内显示了id为su的的元素,则继续运行脚本,如果超过30s才显示此元素,则抛出异常。
driver.find_element_by_id("su").click()
3)WebDriverWait(driver,10,1).until(lambda driver:driver.find_element_by_id("kw")) #此方法为智能等待。语句解释说明:括号中driver--定义的,10--最大等待时间,1每秒检查一次元素是否可见,如果没有第三个参数,那么默认0s检查一次元素是否可见。until判断元素是否可见,
举例说明:

————————————————————————————————————————
判断百度输入框的可见性,如果可见,则在输入框中输入“selenium”
aa=WebDriverWait(driver,10).until(lambda driver:driver.find_element_by_id("kw"))
aa.send_keys("selenium")
运行代码如下:
#coding==utf-8
from selenium import webdriver
#导入WebDriverWait包
from selenium.webdriver.support.ui import WebDriverWait
#导入time包
from time import sleep driver=webdriver.Chrome()
driver.get("http://www.baidu.com")
#判断百度首页的输入框是否存在,如果存在,输入框中输入selenium
aa=WebDriverWait(driver,10).until(lambda driver:driver.find_element_by_id("kw"))
aa.send_keys("selenium")
————————————————————————————————————————

————————————————————————————————————————————————————
第八节:定位一组对象
如果想打开本地的一个文件,那么需要导入本地的os模块。(import os)
第九节:层级的定位
二次定位:
二次定位:
第十节:定位frame中的对象



【虫师讲Selenium+Python】第三讲:操作测试对象的更多相关文章
- 第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求
第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求 selenium模块 selenium模块为 ...
- selenium+Python(事件)
1.操作测试对象前面讲到了不少知识都是定位元素,定位只是第一步,定位之后需要对这个元素进行操作.鼠标点击或者键盘输入,这要取决于我们定位的是按钮还输入框.一般来说,webdriver 中比较常用的操作 ...
- python爬虫积累(一)--------selenium+python+PhantomJS的使用(转)
阅读目录 一.Selenium介绍 二.爬虫为什么要用selenium? 三.PhantomJS介绍 四.PhantomJS安装 五.操作实战 六.在此推荐虫师博客的学习资料 selenium + p ...
- python爬虫积累(一)--------selenium+python+PhantomJS的使用
最近按公司要求,爬取相关网站时,发现没有找到js包的地址,我就采用selenium来爬取信息,相关实战链接:python爬虫实战(一)--------中国作物种质信息网 一.Selenium介绍 Se ...
- selenium + python自动化测试unittest框架学习(一)selenium原理及应用
unittest框架的学习得益于虫师的<selenium+python自动化实践>这一书,该书讲得很详细,大家可以去看下,我也只学到一点点用于工作中,闲暇时记录下自己所学才能更加印象深刻. ...
- 搭建selenium + Python环境的总结:
安装Python+Selenium 写博客是一个不错的选择,首先,是担心自己忘掉,其次,可以供大家做一个参考: 其实,这是自己第一次搭建Python环境(之前用了一周的Idle),还是比较容易的吧: ...
- <译>Selenium Python Bindings 5 - Waits
如今,大多数的Web应用程序使用AJAX技术.当页面加载到浏览器,页面中的元素也许在不同的时间间隔内加载.这使得元素很难定位,如果在DOM中的元素没有呈现,它将抛出ElementNotVisibleE ...
- <译>Selenium Python Bindings 2 - Getting Started
Simple Usage如果你已经安装了Selenium Python,你可以通过Python这样使用: #coding=gbk ''' Created on 2014年5月6日 @author: u ...
- selenium python 第一个脚本
为什么选择python?我的回答很简单,简单易学,功能强大! 下面看看python和selenium 2的结合是什么样子吧 一.第一个selenium python脚本: #coding = utf- ...
随机推荐
- Unity3D Shader官方教程翻译(十九)----Shader语法,编写表面着色器
Writing Surface Shaders Writing shaders that interact with lighting is complex. There are different ...
- php危险的函数和类 disable_functions/class
phpinfo()功能描述:输出 PHP 环境信息以及相关的模块.WEB 环境等信息.危险等级:中 passthru()功能描述:允许执行一个外部程序并回显输出,类似于 exec().危险等级:高 e ...
- Myeclipse10使用git
用Myeclipse安装egit,使用官网最新地址或者下载最新的egit插件到本地安装均在team中看不到git,最后发现到http://download.eclipse.org/egit/updat ...
- 【转】Reason: The specified virtual disk needs repair.
转自http://tscsh.blog.163.com/blog/static/200320103201393095248828/电脑突然断电后,或者非正常关机,ubuntu打不开了,出现错误提示 打 ...
- CSS-筛选 获取第一个td
tr td:first-child{ font-weight:bold; } 看样子,应该是jquery中有些筛选,css也是能够同样进行筛选的,只是模式有些可能不同 a[data-toggle*=' ...
- css笔记 - animation学习笔记(二)
animation动画 @keyframes规则 - 创建动画 from - to 等价于 0% - 100% 但是优先使用0% - 100%,因为浏览器兼容性还好点 animation 动画绑定 将 ...
- java学习之导出Excel
1. 输出表格 poi输出excel最基本是输出table表格,下面是输出区域.总销售额(万元).总利润(万元)简单的表格,创建HSSFWorkbook 对象,用于将excel输出到输出流中 HSSF ...
- Windows系统的文件浏览器如何触发刷新
最近开发一个Drive程序,修改注册表添加System Folder Drive后需要通知已打开的每个文件浏览器刷新.最初选择获取对应窗体的句柄并发送WM_KEYDOWN.WM_KEYUP的VK_F5 ...
- Docker 启动 Centos 镜像 提示"Error response from daemon: No command specified"
奇怪的是当我执行启动其他的镜像的时候并没有报错,找了半天资料发现在启动centos这个镜像的时候需要在docker命令后面指定命令参数“/bin/bash”
- [工具] f.lux – 随时间改变屏幕色温护眼
f.lux 是一款根据时间变化来改变屏幕色温的软件.让你在深夜也能感受到太阳的温暖,顺便还有助于睡眠. 在 f.lux 里,首先设置一个适合你的变化色温范围,白天的色温控制在 6500K 以下,晚上的 ...