2、selenium原理和启动浏览器(Chromoption类)
戳:web自动化环境安装(selenium安装、卸载和Chromedriver下载、安装)
selenium原理和启动浏览器
- 一、 selenium
- 1、selenium简介
- 2、selenium原理
- 二、启动浏览器
- 1、Google浏览器
- 2、设置服务端日志输出
- 三、Chromeoption类
- 1、添加用户配置数据:`user-data-dir=path`
一、 selenium
1、selenium简介
- selenium是一款基于web网页的UI自动化测试框架。
- 支持多浏览器操作,ie、Firefox、Chrome、edge等
- 跨平台,windows、Linux、mac都可以
- 支持多语言,python、java、ruby等
2、selenium原理
- webdriver是按照client/server模式设计的。
- selenium代码与浏览器驱动程序之间是通过http协议进行数据交互的,这种方式不在乎客户端是什么样的形式,只要数据的格式和协议是服务端能够解析的就可以。
- 同行步骤为:
1、webdriver启动浏览器驱动程序,并设置侦听端口号
2、webdriver客户端与浏览器服务器建立连接
3、连接成功之后,所有的操作(比如:查找元素、点击等)都是客户端通过commonexecute发送http请求到服务端;服务端根据收到的请求做相应的操作并返回结果。
二、启动浏览器
1、Google浏览器
# 引入selenium webdriver库
from selenium import webdriver#实例化Chrome类,与webdriver建立连接,启动一个非常干净的谷歌浏览器,不带任何用户配置信息
browser = webdriver.Chrome()browser.get("https://www.baidu.com/")
- executable_path:chrome的路径。默认值为chromedriver,会自动从系统的PATH环境变量中查找。
- Port:chromedriver的端口号。默认值为0,表示选一个未被占用的一个端口即可。
- Options:ChromeOptions实例对象。
- service_args:服务端参数。即chromedriver的参数设置,为列表类型的数据。
- desired_capabilities:具有非浏览器特定的字典对象。仅限功能,例如“proxy”或“loggingPref”。
- service_log_path:服务器端日志输出路径。即Chromedriver的日志输出到文件中。
2、设置服务端日志输出
查看chromedriver支持的参数:
跳转到Chromedriver所在的目录,运行命令chromedriver --help
–verbose:设置所有级别的日志都输出
–log-path:设置日志输出的文件路径
# 引入selenium webdriver库
from selenium import webdriver# 实例化Chrome类,与webdriver建立连接,启动一个非常干净的谷歌浏览器,不带任何用户配置信息
browser = webdriver.Chrome(service_args=["--verbose"], service_log_path="D:\\Python37-32\chrome_server.log")browser.get("https://www.baidu.com/")
三、Chromeoption类
- 可以通过Chromoption类对启动的浏览器添加一些设置信息。比如添加用户的缓存配置信息等。
1、添加用户配置数据:user-data-dir=path
启动浏览器时,带上用户设置的数据,如保存的登录密码、书签等。Path为谷歌浏览器设置的用户数据目录。一般都是在C:\Users\当前用户名\AppData\Local\Google\Chrome\User Data
# 引入selenium webdriver库
from selenium import webdriver
import time
# 实例化Chrome类,与webdriver建立连接,启动一个非常干净的谷歌浏览器,不带任何用户配置信息
#browser = webdriver.Chrome(service_args=["--verbose"], service_log_path="D:\\Python37-32\chrome_server.log")
options = webdriver.ChromeOptions()
#可通过添加配置文件,让开启的google浏览器记住配置数据,比如cookies等
#options.add_argument(r"user-data-dir=C:\Users\Administrator\AppData\Local\Google\Chrome\User Data")
#启动浏览器会话
browser = webdriver.Chrome(options=options)
#访问网址
browser.get("https://ke.qq.com/")
#关闭浏览器会话time.sleep(10)
browser.quit()
- 在谷歌浏览器的地址栏输入
chrome://version/
,可查找path的路径
- Chromedriver的官方网站中提供了chrome的所有参数:https://peter.sh/experiments/chromium-command-line-switches/
- Chromedriver的官方网站:http://chromedriver.chromium.org/
2、selenium原理和启动浏览器(Chromoption类)相关推荐
- python+selenium 自动化之启动浏览器加载浏览器的插件
1.之前已经总结了在浏览器启动的时候,加载插件的一种方法(创建一个profile),这里有一种方法,可以加载到系统浏览器的所有插件,方便在脚本执行中运用firebug,firepath灯进行脚本调试. ...
- Selenium原理介绍
Selenium 经历了两个版本,Selenium 1.0 和 Selenium 2.0,本文仅介绍Selenium2的原理,在Selenium 2.0 主推的是WebDriver,Selenium2 ...
- python火狐配置文件_Python+Selenium中级篇之4-封装一个自己的类-浏览器引擎类/Python读取配置文件内容...
封装一个自己的类-浏览器引擎类 前一篇文章我们知道了,如何去封装几个简单的Selenium方法到我们自定义的类,这次我们编写一个类,叫浏览器引擎类,通过更改一个字符串的值,利用if语句去判断和控制启动 ...
- 自动化测试-selenium启动浏览器
在自动化测试过程中,通过selenium启动浏览器时,可能需要加载插件(如测试用的firebug.或产品中要求必须添加某插件等).读取用户数据(自己浏览器的配置文件/别人直接给的浏览器配置文件).设置 ...
- python3 多进程 selenium 不启动浏览器 同时执行多个自动化任务
下载依赖包: pip insall selenium 备注: 该脚本使用的selenium 版本是: 4.7.2 直接贴代码: import os import time import random ...
- 【重难点】【计算机网络 01】OSI 七层模型和 TCP/IP 四层模型、IP 地址分为哪几类、ping 的原理、从浏览器地址栏输入 URL 到显示网页的过程、什么是 socket
[重难点][计算机网络 01]OSI 七层模型和 TCP/IP 四层模型.IP 地址分为哪几类.ping 的原理.从浏览器地址栏输入 URL 到显示网页的过程.什么是 socket 文章目录 [重难点 ...
- php 启动手机浏览器,php实现读取手机客户端浏览器的类
php实现读取手机客户端浏览器的类 /** * 函数名称: getUA * 函数功能: 取UA * 输入参数: none * 函数返回值: 成功返回号码,失败返回fal ...
- Selenium原理探秘
Selenium是ThoughtWorks公司研发的一个强大的基于浏览器的开源自动化测试工具,它通常用来编写web应用的自动化测试.早期也即Selenium1.x时期主要使用Selenium RC(S ...
- 老李推荐:第5章5节《MonkeyRunner源码剖析》Monkey原理分析-启动运行: 获取系统服务引用 1...
老李推荐:第5章5节<MonkeyRunner源码剖析>Monkey原理分析-启动运行: 获取系统服务引用 上一节我们描述了monkey的命令处理入口函数run是如何调用optionPro ...
最新文章
- jmeter数据库负载测试_JMeter:负载测试关系数据库
- 《PPT高手之道:六步变身职场幻灯派》一0.4 PPTology的3大阶段、6个步骤、24个模块...
- zabbix 3.2.3 appliance默认用户名及密码
- x264源代码简单分析:熵编码(Entropy Encoding)部分
- HTML map 设置图热点
- hudson构建配置
- 一篇个人认为对RNN写的比较好的文章
- Sp_15_极限定理
- Eclipse下载与安装及汉化(详解版)
- 时间序列模型ARIMA -- 唐宇迪
- 功放世界 debug
- 一元云购系统接入手机短信功能说明【V3版】
- C/C++遍历文件夹指定文件
- linux红帽修改默认字体大小,为 Redhat Linux 添加新字体
- 社工小组 计算机小组活动,小组工作活动计划1
- Android 开发:(十四)NavigationBar篇-自定义顶部导航栏
- bootloader 启动过程
- Excel如何快速删除空白行?替换部分字符?
- 利用定时器实现倒计时
- win10系统卷影复制服务器,卷影复制Windows 10与全能备份软件
热门文章
- ScheduledFuture
- DEM数据下载链接(ASTER GDEM、SRTM、ALOS PALSAR DEM)
- 线路/信道编码技术(1)——8B/10B编码
- 能源价格风险管理matlab源代码 经济物理学、电价、风险管理、均值回归
- C++ :线程的暂停、恢复和停止
- 如何使用Qt绘制时间刻度轴
- 失落世界服务器国庆宝箱位置,烟雨江湖国庆宝箱在哪里 烟雨江湖中秋宝箱位置坐标大全...
- linux图形界面安装rpm包,linux中alias别名及rpm安装软件
- 钉钉企业内部应用 - 初始化配置
- 炒股杠杆-AI量化交易