selenium模块简单介绍

selenium模块简单介绍

  1. 是一个用于Web应用程序UI测试的工具。
  2. 直接运行在浏览器中,就像真正的用户在操作一样。
  3. 支持多种浏览器:Chrome,Mozilla Firefox,IE(7, 8, 9, 10, 11),Opera等
  4. 支持跨平台:Windows,Linux,Mac等
  5. 支持多语言:Python,Java,Ruby等
  6. HtmlUnit模式支持操作

selenium webdriver原理:

参考
Webdriver是按照Client/Server模式设计的

Client:python(或其它编程语言)代码
Server:浏览器驱动程序(例如chromedirver)。用来接收客户端的请求并驱动浏览器执行操作然后返回结果
Selenium代码与浏览器驱动程序之间是通过http协议进行数据交互的。这种方式,不在乎客户端是什么样的形式,只要数据的格式和协议是服务端能够解析的就可以了。

通信步骤为:

  1. webdriver启动浏览器驱动程序,并设置侦听端口号
  2. webdriver客户端与浏览器服务端建立连接
  3. 连接成功后,所有的操作(比如:查找元素、点击等)都是客户端通过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)

结果:
百度一下,你就知道

原文地址:https://www.cnblogs.com/jingxindeyi/p/12996128.html