Selenium3.X 与 Javascript (Nodejs)
传送门
# 官网网站 http://docs.seleniumhq.org/download/ # API DOC http://goo.gl/hohAut # 慕课网教程http://www.imooc.com/learn/792 # 虫师教程http://www.cnblogs.com/fnng/p/5854875.html # 火狐浏览器历史版本下载http://ftp.mozilla.org/pub/firefox/releases # 火狐插件:firepath 非前端人员可能不熟悉css选择器,所以可以使用xpathhttps://addons.mozilla.org/zh-CN/firefox/addon/firepath/?src=search # 火狐插件:Selenium IDE 录制https://addons.mozilla.org/zh-CN/firefox/addon/selenium-ide/?src=search
下载
npm install selenium-webdriver
各大浏览器厂商的官方驱动文件
browser | component |
---|---|
Chrome | chromedriver(.exe) |
Internet Explorer | IEDriverServer.exe |
Edge | MicrosoftWebDriver.msi |
Firefox 47+ | geckodriver(.exe) |
PhantomJS | phantomjs(.exe) |
Opera | operadriver(.exe) |
Safari | safaridriver |
PS: driver的版本 与 浏览器的版本密切相关,请按需下载,比如chromedriver可以通过其中notes.txt查看支持的版本信息
然后,把这些驱动下载,并存放到一个目录中,例如:D:/driver/ ,再把这个目录添加到系统环境变量PATH下面。
下面我以Firefox为例,既然上面写着47+ , 那么我就下载48来演示好了
Firefox历史版本下载:http://ftp.mozilla.org/pub/firefox/releases/
官方demo代码
var webdriver = require('selenium-webdriver'),By = webdriver.By,until = webdriver.until;var driver = new webdriver.Builder().forBrowser('firefox').build();driver.get('http://www.google.com/ncr'); driver.findElement(By.name('q')).sendKeys('webdriver'); driver.findElement(By.name('btnG')).click(); driver.wait(until.titleIs('webdriver - Google Search'), 2000); driver.quit();
PS:如果出现【Could not convert 'text' to string】,别担心,这是新版webdriver的bug。在stackoverflow上已有其它开发者解决:
https://github.com/mozilla/geckodriver/issues/683
只需要修改node_modules\selenium-webdriver\lib\webdriver.js中的代码即可:
https://github.com/SeleniumHQ/selenium/commit/6907a129a3c02fe2dfc54700137e7f9aa025218a
正常运行后,会自动启动Firefox,访问 Google 并且搜索 webdriver。然后关闭浏览器。
有时候,需要模拟移动端浏览器测试。例子如下,这次使用Chrome浏览器来测试,请下载对应的版本驱动
var webdriver = require('selenium-webdriver'),By = webdriver.By,until = webdriver.until,chrome = require('selenium-webdriver/chrome');var driver = new webdriver.Builder().forBrowser('chrome').setChromeOptions(new chrome.Options().setMobileEmulation({deviceName: 'Google Nexus 5'})).build();driver.get('https://m.baidu.com'); driver.findElement(By.name('word')).sendKeys('webdriver'); driver.findElement(By.name('word')).submit(); driver.wait(until.titleIs('webdriver - 百度'), 2000); driver.quit();
常用的deviceName还是以iPhone为主,名字举例:Apple iPhone 6 Plus、Apple iPhone 4等
Selenium3.X 与 Javascript (Nodejs)相关推荐
- 网站服务器的极简制作与搭建(HTML5+CSS+javascript+NodeJS)
本文致力于使得较有经验的程序员能够在一天之内了解网站搭建制作的基本知识,尽快制作出可以展示用的demo. 具体地,笔者为了完成大作业,需要搭建一个搜索引擎的网站,仅仅作为展示的demo,并不对原创性 ...
- javascript/nodejs 中获取当前时间(昨天、今天、明天)
javascript/nodejs 中获取当前时间(昨天.今天.明天) 我们在开发中,经常要获取的今天,昨天,和明天的日期,下列有个记录能够获得今天,昨天,明天的日期,并且格式化输出 首先我们需要扩展 ...
- 自定义new Date()格式显示,适用JavaScript / Nodejs / Vue / React / UniApp / 其他基于js工程的项目
定义一个文件去存储下列代码,全局引入就可以使用了 // 直接new就可以了 let time = new Date().Format(); 下面直接上代码: /*create By Jane 时间格式 ...
- 原生JavaScript+WebSocket+nodejs实现聊天室功能
码字不易,有帮助的同学希望能关注一下我的微信公众号:Code程序人生,感谢!代码自用自取. WebSocket也是前端非常重要的技术栈. 现在各种网站.App.小程序都伴有即时通信的功能.WebSoc ...
- JavaScript面向对象——理解构造函数继承(类继承)
JavaScript面向对象--理解构造函数继承(类继承) 构造函数式继承(类继承) function SuperClass(id) {// 引用类型公有属性this.books = ['JavaSc ...
- JavaScript面向对象——深入理解原型继承
JavaScript继承--深入理解原型继承 原型继承 // 父类function School (name, address) {this.name = namethis.address = add ...
- javascript使用_用JavaScript唤醒沉睡的城市
javascript使用 by Koustuv Sinha 通过Koustuv Sinha 用JavaScript唤醒沉睡的城市 (Waking up a sleeping city with Jav ...
- ApacheCN NodeJS 译文集 20211204 更新
Node API 开发入门指南 零.前言 一.Node.js 简介 二.构建 API--第 1 部分 三.构建 API--第 2 部分 React TypeScript Node 全栈开发 零.序言 ...
- html5 nodejs桌面开发工具,html5fromImages-nodejs生成器入门
最近有好多需求是把一堆图片,或者一张长图转成HTML文件在客户端展示,所以想尝试自动化这一过程,简单实验了一个HTML5生成器. 功能: 根据文件夹中图片文件生成简单HTML5展示页面 安装 $ np ...
最新文章
- 数学之路(3)-机器学习(3)-机器学习算法-神经网络[17]
- 华为杯数学建模优秀论文_数学建模经典例题(2011年国赛A题与优秀论文)
- [BZOJ 1834] [ZJOI2010]network 网络扩容
- working space和working set关系
- 40_并发编程-事件
- ZOJ 3502	 Contest 状态压缩 概率 DP
- CSS和JS引用图片(资源)的路径问题
- ai 实用新型专利_专利制度协调AI创造的创新
- 语文学科html代码,[2018年最新整理]学科分类与代码.doc
- 完全卸载VS2015_enterprise
- python网站下载_python 下载整个网站
- Mac电脑必备音乐下载工具-洛雪音乐助手lx-music-desktop v1.1.1正式版
- 报表工具对比选型系列用例——排名及跨行组统计
- 【元宇宙经济学】元宇宙经济的四个特征
- 【C语言】C语言中基础操作符详细讲解
- Exp9 Web安全基础 20164302 王一帆
- 秦储一行拜访陕西省文联和陕西新华出版传媒集团
- 一缕烟香起静中开鸿蒙意思,一缕青烟暗指什么意思 千古萦回一缕香
- 如何去除搜索引擎上的广告
- “新能源拐点”热议潮未退,小鹏却已经从华尔街赶到了港交所
热门文章
- EMD算法原理与python实现
- HoloLens再添一应用领域!Microsoft和Trimble联手开启设施管理新篇章!
- win7计算机不支持此接口,win7系统IIS服务器启动失败显示不支持此接口的解决方法...
- 女性走夜路不安全?英国奇葩新招:无人机护航,关键时刻用光吓退张三
- 16万辆汽车已经用上中国“车规AI第一芯”,量产还在加速
- 跑得比TensorBoard快多了,极简可视化工具Aim发布 | Reddit高热
- 对话图森无人车CEO陈默:IPO,我们只差最后一个必要条件
- 微软小动作气炸用户:装Win10系统,现在得被迫注册账号,脱机安装选项被悄悄删除...
- 能跑TensorFlow,能唱KTV,这是国产车吉利的智能系统和背后的芯片
- svn 413 Request Entity Too Large 错误