webdriver

1. webdriver简介html

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. 浏览器扩展下载python

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. 元素对象的一些方法linux

#!/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中的元素对应的代码git

 

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

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()

 

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

#!/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()
相关文章
相关标签/搜索