用python操作浏览器的三种方式_selenium2+Python 操作浏览器的基本方法

在python 第一步加上#coding=utf-8,不然调试遇到中文会出现乱码

一、打开网页

1.第一步:从 selenium 里面导入 webdriver 模块

2.打开 Firefox 浏览器( Ie 和 Chrome 对应下面的驱动)

3.打开百度网址

二、退出网页

driver.close() #用于关闭当前窗口

driver.quit() #退出驱动程序,关闭所有相关窗口。回收C盘的临时文件

三、设置窗口大小,如分辨率变成480*800,页面最大化

dr.set_window_size(480,800) #设置分辨率大小

dr.maximize_window() #窗口最大化

get_window_size() #获取窗口宽高

1 #coding=utf-8

2 from selenium importwebdriver3 importtime4

5 driver=webdriver.Firefox()6 driver.get("http://www.baidu.com")7 print "浏览器宽、高 480*800"

8 driver.set_window_size(480,800)9 time.sleep(3)10 driver.maximize_window()11 time.sleep(3)12 driver.quit()

四、页面刷新,相当于F5刷新

dr.refresh()

五、页面切换,前进和后退

dr.back #返回上一页

dr.forward() #返回下一页

六、屏幕截屏,

错误时截屏,事后能根据截屏找到问题。截图保存在一个文件夹里:路径+文件名称+后缀

dr.get_screenshot_as_file("D:\\Tool\\selenium\\image\\b1.jpg")

#为了平台能读取到正确的路径,需要转义:

#方法一:r'D:\Tool\selenium\image\b1.jpg'

#方法二:D:\\Tool\\selenium\\image\\b1.jpg

七、等待时间

又分成:显示等待和隐式等待 ;等待的时间可以是小数,也可以是整数,单位是秒(S)

1)固定等待时间,一定要导入time宝

优点:易学,简单易懂

缺点:固定等待时间,浪费时间

例子:

import time

time.sleep(5)

2)固定等待时间的另外一种形式,一定要导入time

例子:

from time import sleep

sleep(5)

3)隐式等待

在时间范围内,找到元素后,立刻结束等待;如果超过时间没找到元素,抛出异常。默认时间:250ms

例子:

import time

dr.implicitly_wait(10)

4)隐式等待2

WebDriverWait()

要导入:from selenium.webdriver.support.ui import WebDriverWait

WebDriverWait(driver,timeout,poll_frequency=0.5,ignored_exceptions=None)

#driver: WebDriver的驱动程序(Ie,FireFox,Chrome或远程)

#timeout:最长超时时间,默认以秒为单位

#poll_frequency: 休眠时间的间隔(步长)时间,默认为0.5秒

#ignored_exceptions: 超时后的异常信息,默认情况下抛出NoSuchElementException异常

#WebDriverWait():一般由unit()或unit_not()方法配合使用

#until(method,message=''):调用该方法提供的驱动程序作为一个参数,直到返回值不为False

#until_not(method,message=''):调用该方法提供的驱动程序作为一个参数,直到返回值为False

例子:

from selenium.webdriver.support.ui import WebDriverWait

element = WebDriverWait(driver, 10).until(lambda x: x.find_element_by_id(“someId”))

is_disappeared = WebDriverWait(driver, 30, 1, (ElementNotVisibleException)).until_not(lambda x: x.find_element_by_id(“someId”).is_displayed())

获取对象的title的属性

dr.get_attribute() #获取对象的title的属性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值