selenium模块简单介绍
- 是一个用于Web应用程序UI测试的工具。
- 直接运行在浏览器中,就像真正的用户在操作一样。
- 支持多种浏览器:Chrome,Mozilla Firefox,IE(7, 8, 9, 10, 11),Opera等
- 支持跨平台:Windows,Linux,Mac等
- 支持多语言:Python,Java,Ruby等
- HtmlUnit模式支持操作
selenium webdriver原理:
参考
Webdriver是按照Client/Server模式设计的
Client:python(或其它编程语言)代码
Server:浏览器驱动程序(例如chromedirver)。用来接收客户端的请求并驱动浏览器执行操作然后返回结果
Selenium代码与浏览器驱动程序之间是通过http协议进行数据交互的。这种方式,不在乎客户端是什么样的形式,只要数据的格式和协议是服务端能够解析的就可以了。
通信步骤为:
- webdriver启动浏览器驱动程序,并设置侦听端口号
- webdriver客户端与浏览器服务端建立连接
- 连接成功后,所有的操作(比如:查找元素、点击等)都是客户端通过commandExecuter发送http请求到服务端;服务端根据收到的请求做相应的操作并返回
安装(python+chrome+selenium)
deepin15.11安装selenium+chrome+chromedriver
简单使用
1、 普通模式
#!/usr/bin/python3
# -*- condig:utf-8 -*-
from selenium import webdriver
chrome = webdriver.Chrome()
chrome.get('https://www.baidu.com/')
chrome.find_element_by_id('kw').send_keys('selenium')
chrome.find_element_by_id('su').click()
2、HtmlUnit模式(无图形界面)
安装配置
deepin15.11+python3.5.3+selenium (3.141.0)配置HTMLUNIT模式
#!/usr/bin/python3
# -*- condig:utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
htmlunit = webdriver.Remote(desired_capabilities=webdriver.DesiredCapabilities.HTMLUNIT)
htmlunit.get("http://www.baidu.com")
print(htmlunit.title)
结果:
百度一下,你就知道