webdriver

1. webdriver简介

webdriver (Selenium2)是一种用于Web应用程序的自动测试工具,它提供了一套友好的API,与Selenium 1(Selenium-RC)相比,Selenium2的API更容易理解和使用,其可读性和可维护性也大大提高
Webdriver完全就是一套类库,不依赖于任何测试框架,除了必要的浏览器驱动,不需要启动其他进程或安装其他程序,也不必像Selenium 1那样需要先启动服务。
另外,二者所采用的技术方案也不同。Selenium 1是在浏览器中运行 JavaScript来进行测试,而Selenium 2则是通过原生浏览器支持或者浏览器扩展直接控制浏览器。
Selenium 2针对各个浏览器而开发的,它取代了嵌入到被测Web应用中的 JavaScript。与浏览器的紧密集成,支持创建更高级的测试,避免了JavaScript安全模型的限制。除了来自浏览器厂商的支持,Selenium 2 还利用操作系统级的调用模拟用户输入
 
安装selenium这个第三方模块
pip install selenium

 

2. 浏览器扩展下载

webdriver支持多种浏览器,如firefox(带图形界面的linux服务器自带firefox,原生支持webdriver)、chrome、ie等浏览器
下载后解压,把可执行程序放到python的安装目录
 
3. driver对象的一些方法
#!/usr/bin/env python
#coding:utf8

from selenium import webdriver

url = 'https://www.baidu.com'
driver = webdriver.Firefox()            //创建一个firefox浏览器的dirver对象
driver.get(url)                         //访问url
driver.get_cookies()                    //返回当前页的cookie
driver.back()                           //历史记录后退一页
driver.forward()                        //历史记录前进一页
driver.refresh()                        //刷新当前页
# print(driver.page_source)             //返回当前的html源码
print(driver.current_url)               //返回当前的url
print(driver.session_id)                //session id
print(driver.title)                     //titile
driver.quit()                           //退出所有页面并关闭会话

------------------------------------------------>
https://www.baidu.com/
04b303b0-0b58-45c6-b5bb-e4aa531b4bf7
百度一下,你就知道

 

4. 元素对象的一些方法

#!/usr/bin/env python
#coding:utf8

import time
from selenium import webdriver

url = 'https://www.python.org/'
driver = webdriver.Firefox()
driver.get(url)
element = driver.find_element_by_id('id-search-field')
element.clear()                                               //清空输入框的内容
element.send_keys('os')                                       //发送数据到输入框
# element.click()                                             //点击(同鼠标左键)
# element.submit()                                            //点击表单提交按钮
driver.find_element_by_id('submit').click()
time.sleep(10)
driver.quit()

 

5. 定位html中的元素对应的代码

 

实例一:在python官网搜索框搜索os模块

import time
from selenium import webdriver

url = 'https://www.python.org/'
driver = webdriver.Firefox()
driver.get(url)
element = driver.find_element_by_id('id-search-field')
element.clear()
element.send_keys('os')
driver.find_element_by_id('submit').click()
time.sleep(10)
driver.quit()

 

实例二:登陆京东并领取优惠券

#!/usr/bin/env python
#coding:utf8

import time
import string
import random
from selenium import webdriver

def getTime():
    return time.sleep(int(random.choice(string.digits)))

url = 'https://www.jd.com/'
driver = webdriver.Firefox()
driver.get(url)
getTime()
driver.find_element_by_link_text('你好,请登录').click()
getTime()
driver.find_element_by_xpath('//a[@clstag="pageclick|keycount|201607144|2"]').click()
element = driver.find_element_by_id('loginname')
getTime()
element.clear()
element.send_keys('xxxxxx')
element1 = driver.find_element_by_id('nloginpwd')
getTime()
element1.clear()
element1.send_keys('xxxxxxx')
getTime()
driver.find_element_by_id('loginsubmit').click()
driver.get('https://plus.jd.com/index')
driver.find_element_by_xpath('//a[@clstag="plus2017|keycount|ZSQ|coupon_get1_46793030"]').click()

 

转载于:https://www.cnblogs.com/tobeone/p/8364847.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值