先看看官方给的小demo

from selenium import webdriver
from selenium.webdriver.common.keys import Keys driver = webdriver.chrome(r'F:\python post\code\silder\chromedriver.exe')
driver.get("http://www.python.org")
assert "Python" in driver.title
elem = driver.find_element_by_name("q")
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
assert "No results found." not in driver.page_source
driver.close()

selenium.webdriver 模块提供了所有 WebDriver的实现,现在支持的WebDriver的实现有 Firefox,Ie,Chrome,Remote,Keys类提供了键盘的代码(回车,ALT,F1等等)

然后我们创建一个Firefox的实例:

  driver = webdriver.Chrome()后面要接我们本地的chromedriver.exe

driver.get方法会导向给定的URL的页面,WebDriver会等待页面完全加载完(就是onload函数被触发了),才把程序的控制权交给你的测试或者脚本。 但是如果你的页面用了太多的AJAX,那么这个机制就没什么用了,因为它不知道页面到底是什么时候加载完。

  driver.get("http://www.python.org")

WebDrive提供了一系统类似于find_element_by_*的方法来寻找页面元素,例如,我们利用find_element_by_name方法,通过元素的name属性来定位一个文本输入框元素:

  elem = driver.find_element_by_name("q")

接着我们发送了一些字符,类似于用键盘直接输入。特殊的键盘符我们可以导入selenium.webdriver.common.keys,然后用Keys类来表示:

elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)

提交页面之后我们应该确认一下是否有返回,为了确定有东西返回,我们在这里下一个断言:

  assert "No results found." not in driver.page_source

最后浏览器窗口被关闭了,你也可以调用quit方法来代替close,区别在于quit会退出整个浏览器,而close只会关闭一个标签,但是如果浏览器只有一个标签,那么这两个方法完全一样,都会关闭整个浏览器。

  driver.close()

这里面的assert 比如这里的assert "Python" in driver.title,意思就是说Python是否在标题里面如果在就往下执行否则就break

selenium初探的更多相关文章

  1. 前端自动化测试漫长路之——Selenium初探

    引言 最近想解决前端开发或测试中的两个问题:一是界面UI的布局适配,能否在测试的过程中,通过命令操作真机打开相应页面然后截屏,通过对图片识别分类,发现有问题的图片,然后及时修复:二是页面性能分析,很多 ...

  2. selenium 初探

    # -*- coding:utf-8 -*- from selenium import webdriver driver = webdriver.Firefox() # 打开firefox浏览器 dr ...

  3. selenium初探:WebDriverException解决方法探索(以Chrome浏览器|IE浏览器|Edge浏览器为例)

    环境参考:win10-64位, python3.6.3, selenium3.7 在初试selenium运行以下代码时 from selenium import webdriver browser = ...

  4. Selenium IDE初探

    系列教程: http://www.cnblogs.com/hyddd/archive/2009/05/30/1492536.html 使用过程中,出现了一些问题.

  5. Python爬虫初探 - selenium+beautifulsoup4+chromedriver爬取需要登录的网页信息

    目标 之前的自动答复机器人需要从一个内部网页上获取的消息用于回复一些问题,但是没有对应的查询api,于是想到了用脚本模拟浏览器访问网站爬取内容返回给用户.详细介绍了第一次探索python爬虫的坑. 准 ...

  6. 初探python+selenium

    由于公司网络管管控严格,服务器上访问外网需要进行身份认证(按理说递交个申请给开放相关域名外网访问就好,无奈不给通过,又想马儿跑又不给马吃草),正好前一阵撸课程的时候看到selenium可以实现自动化, ...

  7. Selenium原理初步--Android自动化测试学习历程

    章节:自动化基础篇——Selenium原理初步(第五讲) 注:其实所有的东西都是应该先去用,但是工具基本都一样,底层都是用的最基础的内容实现的,测试应该做的是: (1)熟练使用工具,了解各个工具的利弊 ...

  8. 如何使用Selenium来计算自动化测试的投资回报率?

    跨浏览器测试是一种测试,需要大量的精力和时间.通过不同的浏览器,操作系统,设备,屏幕分辨率测试Web应用程序,以评估针对各种受众的Web内容呈现的过程是一项活动.特别是如果手动处理.使用Seleniu ...

  9. Selenium 4 Java的最佳测试框架

    几十年来,Java一直是开发应用程序服务器端的首选编程语言.尽管JUnit一直在与开发人员一起帮助他们进行自动化的单元测试,但随着时间的推移和测试行业的发展,特别是伴随着自动化测试的兴起,已经开发了许 ...

随机推荐

  1. bluetoothctl命令提示No default controller available

    在学习bluetoothctl命令时,执行bluetoothctl,然后执行show,提示No default controller available. 1. 执行hciconfig,发现有hci0 ...

  2. golang安装及vscode编辑器配置

    安装Go语言及搭建Go语言开发环境 下载 下载地址:https://studygolang.com/dl 系统选择: 根据不同系统下载安装包: 安装 Windows MAC安装 点开可执行程序 下一步 ...

  3. YouCompleteMe unavailable: requires Vim compiled with Python 2.x support

    问题:YouCompleteMe unavailable: requires Vim compiled with Python 2.x support 解决:重新编译,加入--enable-pytho ...

  4. 2020.5.24 第四篇 Scrum冲刺博客

    Team:银河超级无敌舰队 Project:招新通 项目冲刺集合贴:链接 目录 一.每日站立会议 1.1 会议照片 1.2 项目完成情况 二.项目燃尽图 三.签入记录 3.1 代码/文档签入记录 3. ...

  5. python字符串的常见处理方法

    python字符串的常见处理方法 方法 使用说明 方法 使用说明 string[start:end:step] 字符串的切片 string.replace 字符串的替换 string.split 字符 ...

  6. 区块链入门到实战(12)之区块链 – 默克尔树(Merkle Tree)

    目的:解决由于区块链过长,导致节点硬盘存不下的问题. 方法:只需保留交易的哈希值. 区块链作为分布式账本,原则上网络中的每个节点都应包含整个区块链中全部区块,随着区块链越来越长,节点的硬盘有可能放不下 ...

  7. 记录一次mybatis缓存和事务传播行为导致ut挂的排查过程

    起因 rhea项目有两个ut一直都是挂的,之前也经过几个同事排查过,但是都没有找到解决办法,慢慢的这个问题就搁置了.因为之前负责rhea项目的同事离职,我临时接手了这个项目,刚好最近来了一个新同事在做 ...

  8. 教你如何在linux操作系统下玩【俄罗斯方块】高清+语音教程

    主讲人小冰QQ:986945193 新浪微博:http://weibo.com/mcxiaobing 百度贴吧:忆驹家族小冰 腾讯微博:http://t.qq.com/q986945193 高清视频 ...

  9. Unity代码混淆

    https://www.zhihu.com/question/25414422 http://blog.csdn.net/kun1234567/article/details/7917847 http ...

  10. Diophantus of Alexandria(唯一分解定理)

    Diophantus of Alexandria was an Egypt mathematician living in Alexandria. He was one of the first ma ...