草庐IT

selenium环境搭建,浏览器驱动下载教程,超详细!

小洁将心向明月 2023-12-06 原文

web ui 自动化测试

web 指的是基于浏览器打开的网页
web ui 自动化测试就是通过代码来模拟人为(点击、输入、下拉选择等)操作浏览器,为了减轻工作量,提高测试效率而产生的

本周是基于selenium这个工具展开的,其实是Python里面的一个库。

selenium环境搭建

1.selenium客户端库安装

#注意,目前直接安装将会安装最新的4.0版本,我们需要3.0版本,安装时则要指定版本

在命令行输入以下安装地址:

pip install selenium==3.14 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

2.下载浏览器

selenium支持的浏览器谷歌、火狐、edge、欧朋浏览器都支持,推荐使用谷歌浏览器(兼容性是最好的)

谷歌浏览器下载地址:Google Chrome 网络浏览器

浏览器一定不要装错,而且要保持最新版本,安装完成后如下图

如果是一下图标,都是假的浏览器,需要卸载掉

查看浏览器版本

3.浏览器驱动下载

下载谷歌浏览器所对应的版本,驱动的版本和浏览器一定要对的上,(加入过一段时间,你的浏览器升级了,驱动也要换)

浏览器驱动下载地址(国内地址):CNPM Binaries Mirror

4.驱动的配置

这个驱动最好是添加到环境变量

在盘符下创建目录 D:\tools\driver,将驱动放到driver目录里面

将D:\tools\driver添加到环境变量path中去

步骤一:

步骤二:

不要删除原来的内容,在后面添加一行

注意:

win7 在配置的的时候,要注意:

;D:\tools\driver

步骤三:

在配置之后,必须重启电脑,切记!!!

只有重启配置的环境变量才能生效

5.测试

本周新建一个项目

测试代码

from selenium import webdriver
​
# 打开谷歌浏览器
driver = webdriver.Chrome()
​
# 打开网页
driver.get("http://121.4.249.231/")

如果选择元素,则在;浏览器页面上按下 F12,

from selenium import webdriver
import time
​
# 打开谷歌浏览器,其实是类的实例化
driver = webdriver.Chrome()
​
# 设置浏览器最大化(避免页面显示不全导致测试出问题)
driver.maximize_window()
​
# 设置隐式等待,单位是秒
# 在10s钟之内采用轮询的方式,去检查页面元素有没有加载出来,超过设置的最大超时时间如果还没有加载出来,也会报错
driver.implicitly_wait(10)
​
# 打开网页
driver.get("https://www.baidu.com/")
​
# 在百度中搜索 蔡徐坤
# 首先要定位到搜索框
# send_keys表示输入内容
driver.find_element_by_id("kw").send_keys("蔡徐坤")
​
#获取网页源码
print(driver.page_source)
​
#获取窗口名称
print(driver.name)
​
#获取页面标题
print(driver.title)
​
#打印当前URL地址
print(driver.current_url)
​
#获取当前页面截图,path 为保存截图的文件夹
driver.get_screenshot_as_file(path)
​
# 点击百度一下
# click()是点击的意思
driver.find_element_by_id('su').click()
​
time.sleep(5)
​
# 关闭浏览器(所有窗口关闭)
driver.quit()
​
#如果指向关闭当前的窗口
#driver.close()
​
​
​
​

有关selenium环境搭建,浏览器驱动下载教程,超详细!的更多相关文章

  1. ruby - 如何使用 Ruby aws/s3 Gem 生成安全 URL 以从 s3 下载文件 - 2

    我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A

  2. ruby - 在 Ruby 中用键盘诅咒数组浏览 - 2

    我正在尝试在Ruby中制作一个cli应用程序,它接受一个给定的数组,然后将其显示为一个列表,我可以使用箭头键浏览它。我觉得我已经在Ruby中看到一个库已经这样做了,但我记不起它的名字了。我正在尝试对soundcloud2000中的代码进行逆向工程做类似的事情,但他的代码与SoundcloudAPI的使用紧密耦合。我知道cursesgem,我正在考虑更抽象的东西。广告有没有人见过可以做到这一点的库或一些概念证明的Ruby代码可以做到这一点? 最佳答案 我不知道这是否是您正在寻找的,但也许您可以使用我的想法。由于我没有关于您要完成的工作

  3. ruby-on-rails - 浏览 Ruby 源代码 - 2

    我的主要目标是能够完全理解我正在使用的库/gem。我尝试在Github上从头到尾阅读源代码,但这真的很难。我认为更有趣、更温和的踏脚石就是在使用时阅读每个库/gem方法的源代码。例如,我想知道RubyonRails中的redirect_to方法是如何工作的:如何查找redirect_to方法的源代码?我知道在pry中我可以执行类似show-methodmethod的操作,但我如何才能对Rails框架中的方法执行此操作?您对我如何更好地理解Gem及其API有什么建议吗?仅仅阅读源代码似乎真的很难,尤其是对于框架。谢谢! 最佳答案 Ru

  4. ruby - 安装 Ruby 时遇到问题(无法下载资源 "readline--patch") - 2

    当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub

  5. ruby-on-rails - 在 Rails 开发环境中为 .ogv 文件设置 Mime 类型 - 2

    我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain

  6. ruby-on-rails - 如何在 Ruby on Rails 中实现由 JSF 2.0 (Primefaces) 驱动的 UI 魔法 - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。问题1)我想知道ruby​​onrails是否有功能类似于primefaces的gem。我问的原因是如果您使用primefaces(http://www.primefaces.org/showcase-labs/ui/home.jsf),开发人员无需担心javascript或jquery的东西。据我所知,JSF是一个规范,基于规范的各种可用实现,prim

  7. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  8. FOHEART H1数据手套驱动Optitrack光学动捕双手运动(Unity3D) - 2

    本教程将在Unity3D中混合Optitrack与数据手套的数据流,在人体运动的基础上,添加双手手指部分的运动。双手手背的角度仍由Optitrack提供,数据手套提供双手手指的角度。 01  客户端软件分别安装MotiveBody与MotionVenus并校准人体与数据手套。MotiveBodyMotionVenus数据手套使用、校准流程参照:https://gitee.com/foheart_1/foheart-h1-data-summary.git02  数据转发打开MotiveBody软件的Streaming,开始向Unity3D广播数据;MotionVenus中设置->选项选择Unit

  9. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

  10. 「Python|Selenium|场景案例」如何定位iframe中的元素? - 2

    本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决

随机推荐