Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。

Selenium是用于自动化控制浏览器做各种操作,打开网页,点击按钮,输入表单等等,可以模拟各种人工操作浏览器的功能,

主要用途是自动化测试领域,但是也可以用于爬虫领域,或自动化办公领域。

本次只是简单入门操作,在window环境搭建好Selenium自动化环境。

一,下载Selenium库

pip install selenium,即可进行安装。

如果安装速度慢,可以使用国内源安装。(清华源、豆瓣源...)

pip install selenium -i https://pypi.douban.com/simple/

pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple

二,安装谷歌浏览器和对应驱动

1, 确保你已经安装了Google Chrome 浏览器。查看浏览器版本。

2,  安装Chrome WebDriver 驱动

下载页面: https://registry.npmmirror.com/binary.html?path=chromedriver/

注意:下载Chrome WebDriver 驱动一定要与你Chrome浏览器版本号一致,至少版本号前3列数字一样。

比如我的浏览器版本号是:92.0.4515.40 ; 下载的驱动版本号是:92.0.4515.43

3, 下载完后,解压缩后将WebDriver可执行文件放在Chrome浏览器安装目录下,
比如我的Chrome浏览器安装目录:C:\Program Files\Google\Chrome\Application

4, 设置Chrome浏览器到系统环境变量

这样,你就可以在任何位置调用WebDriver。

安装和配置完成后,你就可以在Python脚本中导入Selenium库并开始使用它来模拟浏览器操作了。

三,简单测试模拟浏览器操作

编写一个简单测试python程序。

import time

from selenium import webdriver

# driver = webdriver.Chrome()

# 此步骤很重要,设置chrome为开发者模式,防止被各大网站识别出来使用了Selenium
options = webdriver.ChromeOptions()
# 去掉提示:Chrome正收到自动测试软件的控制
# options.add_argument('disable-infobars')
# 以键值对的形式加入参数,打开浏览器开发者模式
# options.add_experimental_option('excludeSwitches', ['enable-automation'])
# 打开浏览器开发者模式
# options.add_argument("--auto-open-devtools-for-tabs")
driver = webdriver.Chrome(chrome_options=options)
print('连接Chrome浏览器驱动,打开浏览器.') # 浏览器窗口最大化
driver.maximize_window()
# 等待3秒启动完成
driver.implicitly_wait(3) print('输入网址,进入网站网页.')
url = 'https://baidu.com/'
# 输入网址,进入网站网页
driver.get(url)
# 刷新该网页
driver.refresh()
# 休眠3秒
time.sleep(3) print('关闭Chrome浏览器驱动')
driver.quit()

四,关闭谷歌浏览器更新

使用自动化测试,特别注意浏览器版本号跟驱动版本号一致,但是谷歌浏览器经常自动更新版本,导致自动化驱动程序用着用着就无效了,为了防止经常浏览器更新导致需要重新下载驱动程序,最好办法就是关闭浏览器更新服务。

关闭谷歌浏览器自动更新操作:

  一、关闭计划任务

  1、首先我们需要右键点击我的电脑,在打开的选项里选择管理。

  2、在打开的对话框中选择任务计划程序。

  3、在任务计划程序库中找到两个和chrome自动更新相关的任务计划GoogleUpdateTaskMachineCore与GoogleUpdateTaskMachineUA。

  4、单个选中计划任务,右键在弹出的选项中选择禁用。

  二、关闭后台服务

  1、再开始打开的管理对话框中,找到下方的服务选项。找到两个和chrome更新相关的服务Google更新服务(gupdate)、Google更新服务(gupdatem)。

  2、双击选中该服务后,在启动类型中选择禁用。

  注意事项

  有需要可以禁用更新,无需要尽量不要关闭。

selenium自动化测试入门的更多相关文章

  1. selenium自动化测试入门 定位frame和iframe中的元素对象

    < frame> <iframe> 标签,浏览器会在标签中打开一个特定的页面窗口(框架),它在本窗口中嵌套进入一个网页,当用selenium定位页面元素的时候会遇到定位不到fr ...

  2. selenium自动化测试入门 Alert/Confirm/Prompt 弹出窗口处理

    一.Alert/Confirm/Prompt弹出窗口特征说明 Alert弹出窗口: 提示用户信息只有确认按钮,无法通过页面元素定位,不关闭窗口无法在页面上做其他操作. Confirm 弹出窗口: 有确 ...

  3. Selenium自动化测试,接口自动化测试开发,性能测试从入门到精通

    Selenium自动化测试,接口自动化测试开发,性能测试从入门到精通Selenium接口性能自动化测试基础部分:分层自动化思想Slenium介绍Selenium1.0/2.0/3.0Slenium R ...

  4. Selenium自动化测试框架入门整理

    ​​关注嘉为科技,获取运维新知 本文主要针对Selenium自动化测试框架入门整理,只涉及总体功能及框架要点介绍说明,以及使用前提技术基础要求整理说明.作为开发人员.测试人员入门参考. 本文参考:Se ...

  5. Selenium自动化测试Python一:Selenium入门

    Selenium入门 欢迎阅读Selenium入门讲义,本讲义将会重点介绍Selenium的入门知识以及Selenium的前置知识. 自动化测试的基础 在Selenium的课程以前,我们先回顾一下软件 ...

  6. 小白学 Python 爬虫(28):自动化测试框架 Selenium 从入门到放弃(下)

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  7. 《Selenium自动化测试实战:基于Python》Selenium自动化测试框架入门

    第1章  Selenium自动化测试框架入门 1.1  Selenium自动化测试框架概述 说到目前流行的自动化测试工具,相信只要做过软件测试相关工作,就一定听说过Selenium. 图1-1是某企业 ...

  8. Selenium自动化测试插件—Katalon的自述

    Katalon-一款好用的selenium自动化测试插件 Selenium 框架是目前使用较广泛的开源自动化框架,一款好的.基于界面的录制工具对于初学者来说可以快速入门:对于老手来说可以提高开发自动化 ...

  9. Selenium自动化测试-进阶2-框架篇

    前面的文章已经讲述了 Selenium自动化的入门知识,不知道各位看官看懂没有,有不懂的请留言. 接下来,开始讲解 Selenium自动化测试进阶知识. 首先讲解:自动化测试的核心: 利用自动化程序代 ...

  10. python selenium webdriver入门基本操作

    python selenium webdriver入门基本操作 未经作者允许,禁止转载! from selenium import webdriver import time driver=webdr ...

随机推荐

  1. Qt通用方法及类库11

    函数名 //判断IP地址及端口是否在线 static bool ipLive(const QString &ip, int port, int timeout = 1000); //获取网页所 ...

  2. [转]springboot 监控 Actuator和Admin

    参考链接: 1.springboot 监控 Actuator和Admin 2.SpringBoot:Actuator监控中心+AdminUI界面管理

  3. Web端即时通讯实践干货:如何让WebSocket断网重连更快速?

    本文作者网易智慧企业web前端开发工程师马莹莹.为了提升内容质量,收录时有修订和改动. 1.引言 在一个完善的即时通讯IM应用中,WebSocket是极其关键的一环,它为基于Web的即时通讯应用提供了 ...

  4. 记一次 .NET某汗液测试机系统 崩溃分析

    一:背景 1. 讲故事 上个月在社区写的文章比较少,一直关注的朋友应该知道那段时间被狗咬了以及一些琐事处理,所以手头上也攒了不少需要分享的案例,这段时间比较空闲,逐个给大 家做个分享吧,刚好年后为新版 ...

  5. preparation

    课程知识准备 HTML5基础教程 CSS3基础教程 JavaScript基础教程 HTML DOM基础教程 VUE3基础教程 Element Plus OpenLayers vue3-openlaye ...

  6. [.NET] API网关选择:YARP还是Ocelot?

    API网关选择:YARP还是Ocelot? 摘要 随着微服务架构的流行,API网关在系统架构中扮演着越来越重要的角色.在.NET生态中,YARP(Yet Another Reverse Proxy)和 ...

  7. 国家和地区代码列表,ISO 3166-1:2006

    本文根据ISO 3166-1:2006(International Standard Norme Internationale) 英文版(含2007年补充说明)整理.与ISO 3166-1:1997相 ...

  8. Spring Cloud Alibaba实战,从微服务架构到基本服务配置

    https://blog.csdn.net/itcast_cn/article/details/124558887 Spring Cloud Alibaba 实战 1目标理解什么是微服务架构理解什么是 ...

  9. HBase-1集群安装部署

    1.1 准备安装包 下载安装包并上传到hadoop01服务器 安装包下载地址:https://www.apache.org/dyn/closer.lua/hbase/2.2.6/hbase-2.2.6 ...

  10. FTP、SFTP、TFTP,文件传输协议怎么选?

    转载:FTP.SFTP.TFTP,文件传输协议怎么选? FTP FTP(File Transfer Protocol,文件传输协议)是用于在计算机网络中传输文件的标准协议.FTP是一种客户端/服务器协 ...