最近基于selenium写了一个python小工具,记录下学习记录,自己运行的环境是Ubuntu 14.04.4, Python 2.7,Chromium 49.0,ChromeDriver 2.16

selenium简介

selenium提供了一个通用的接口,可模拟用户来操作浏览器,比如用于自动化测试等.

selenium的核心是WebDriver,它提供了一组接口,这些接口能够操作各种跨平台的浏览器.各大浏览器厂商.

各大浏览器厂商也支持Selenium,将其作为浏览器的一部分.

selenium工具集提供了WebDriver,Selenium IDE,Selenium-Grid等

Selenium 1.0 + WebDriver = Selenium 2.0

Selenium WebDriver是Selenium Remote Control(Selenium-RC)的继承者.

WebDriver提供了更简单和简洁的接口,克服了Selenium-RC API一些限制.

相比Selenium 1.0,WebDriver是面向对象式的服务.

WebDriver驱动浏览器更有效率,提供了比Selenium 1.0更多的功能

Selenium RC只能在单机上运行,WebDriver则提供了远程操作的功能

selenium基本使用

selenium运行需要什么

主要包括三部分:selenium selenium,浏览器driver,浏览器selenium selenium是一组通用的接口,而不同的浏览器提供其自身的driver(大部分是官方的),浏览器则被模拟控制操作的终端.

安装

简单的使用

API使用

可参考/usr/local/lib/python2.7/dist-packages/selenium

Chrome WebDriver

selenium.webdriver.chrome.webdriver.WebDriver(executable_path='chromedriver', port=0, chrome_options=None, service_args=None, desired_capabilities=None, service_log_path=None)

ChromeOptions

可以通过ChromeDriver session配置ChromeDriver session ChromeDriverconvenient methods for setting ChromeDriver-specific capabilities

直接使用DesiredCapabilities

ChromeOptions是构建在DesiredCapabilities之上的,为了使用DesiredCapabilities,必须知道capability的Key/value对.

chromedriver运行方式

The ChromeDriver class不断的创建实例,会浪费很多的时间,可以通过两个方式解决.

使用ChromeDriverService

开启单独的ChromeDriver服务

RemoteWebDriverServer

The RemoteWebDriver is composed of two pieces: a client and a server. The client is your WebDriver test and the server is simply a Java servlet, which can be hosted in any modern JEE app server. The server will always run on the machine with the browser you want to test.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://www.jianshu.com/p/3f7c40dbc317

python使用selenium_如何在python中使用selenium的示例相关推荐

  1. python pop() ,如何在Python的列表或数组中移除元素

    python pop() ,如何在Python的列表或数组中移除元素 在本文中,你将学习如何使用Python内置的 pop() 方法,最后,你将知道如何使用 pop() 从 Python 中的列表中删 ...

  2. python调用soap_如何在python zeep中调用soap api而不使用wsdl(非wsdl模式)?使用用户和密码身份验证调用位置URL...

    我无法在Zeep python客户端中为SOAP API验证用户身份 . 我有两个网址: 1) http://credotrade.stg-tradingcrm.com:8093/mex - 它指定了 ...

  3. python hadoop streaming_如何在Hadoop中使用Streaming编写MapReduce(转帖)

    作者:马士华 发表于:2008-03-05 12:51 最后更新于:2008-03-25 11:18 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息. http://www ...

  4. python多项式回归_如何在Python中实现多项式回归模型

    python多项式回归 Let's start with an example. We want to predict the Price of a home based on the Area an ...

  5. python大括号_如何在python字符串中打印文字大括号字符并在其上使用.format?

    如何在python字符串中打印文字大括号字符并在其上使用.format? x = " \{ Hello \} {0} " print x.format(42) 给我:{Hello} ...

  6. python使用spark_如何在Python中编写简单代码,并且速度超越Spark?

    全文共3482字,预计学习时长7分钟 如今,大家都在Python工具(pandas和Scikit-learn)的简洁性.Spark和Hadoop的可扩展性以及Kubernetes的操作就绪之间做选择. ...

  7. spyder python 使用_如何在spyder中使用vpython?

    我试着用vpython,无论如何,但我失败了...在 首先,我在win8.1上安装了anacondapython2.7.10. 然后,我通过在命令行中输入以下命令来安装Vpython: conda安装 ...

  8. vscode怎么安装python库_如何在vscode中安装python库的方法步骤

    免费资源网 - https://freexyz.cn/ vscode安装python库 1.已经在vscode中装了python并配置好python运行环境. 检查是否正确配置好运行环境,按Windo ...

  9. 【Python】Windows如何在cmd中切换python版本

    相信很多小伙伴都会有像我一样经历,在windows中装了很多python版本,那么如果我们正式使用的时候应该如何切换呢? [方法一]从环境变量中切换python 第一步: 打开环境变量 第二步:打开系 ...

最新文章

  1. 找不到第三方怎么理赔_车子被撞,找不到肇事者怎么办?
  2. 或许不理解,但你一定说过的游戏黑话
  3. RabbitMQ 简介
  4. proguaid 混淆代码
  5. 球面三角基本名称及性质、基本定理和公式、解法
  6. 2015年,戴尔存储如何助力“智慧视频”落地?
  7. python对比两个文件找出不同并显示_python difflib模块实现两个文件差异对比,并输出html格式。...
  8. 计算机网络通信中常用的检错码,4月全国高等教育自学考试计算机网络与通信试题及答案解析...
  9. xMenuTools(超实用右键菜单工具) v7.6
  10. 用mysql + node搭建一个简易工作列表网站
  11. BZOJ3309 DZY Loves Math(莫比乌斯反演+线性筛)
  12. ofo 彻底凉凉。。。
  13. php滑动门效果,基于JavaScript实现滑动门效果的代码实例介绍(图文)
  14. Win10声卡驱动正常但没声音怎么办?驱动人生解决办法
  15. 腾讯云主机ssh自动断开解决办法
  16. 相关性分析-皮尔森、斯皮尔曼肯德尔相关性系数
  17. win10 软路由_超小软路由Nanopi R2S折腾记
  18. 恐怖的代码,以及转载
  19. 移动端屏幕适配和css美化浏览器自带的滚动条
  20. 微信小程序获取用户位置信息

热门文章

  1. 批量替换文件夹下所有文件的内容
  2. 老李分享:基于图像识别的跨平台的手机自动化测试方案
  3. 初步认识迭代服务器和并发服务器
  4. paip.字符串操作uapi java php python总结..
  5. 使用文件监控对象FileSystemWatcher实现数据同步
  6. 项目:飞凌单片机boa服务器遇到问题总结
  7. linux的常用操作——压缩和解压缩
  8. LeetCode 670 最大交换 (暴力+贪心、Python)
  9. 计算机网络(二十三)-网络层-概述与数据交换方式
  10. Leetcode--560. 和为K的子数组