SafariDriver是一个Safari浏览器的扩展。和Firefox类似,在selenium-safari-driver-xxx.jar包中org.openqa.selenium.safari路径下提供了Safaridriver.safariextz扩展程序。

包下载地址: http://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-safari-driver

可能需要的设置

使用该浏览器,只需要将driver改成SafariDriver即可:
WebDriver driver = new SafariDriver();

Selenium 2 跑safari浏览器 (在windows XP系统上)
1,配置环境(什么装JDK,ECLIPSE,SELENIUM,SAFARI 之类的等等,,略去步骤)
2,编写测试代码(很简单,简单的new SafariDriver()之类的,以google页面为例子,取点值)
   WebDriver driver =new SafariDriver();
   driver.get("http://www.google.com.hk");
driver.findElement(By.name("q")).sendKeys("webdriver");
driver.findElement(By.name("btnK")).click();
new WebDriverWait(driver, 3).until(ExpectedConditions
.titleIs("webdriver - Google Search"));
   dirver.quit();
3,这个时候运行, 会出现这样的结果:
  页面停住了,只有这么类似一条信息显示着“SafariDriver requesting connection at ws://localhost:43980/wd”。
4,要对safari浏览器进行扩展:
   1)创建safari的签名证书,只有这样才能往safari中添加自定义扩展
      至于这个过程,大致上是先注册一个apple ID, 注册完后就可以直接 “get
      started”,再根据提示 一步一步 “create certificate”。 详细过程可以google
      一下, 很简单。
   2)SVN到这个地址:http://selenium.googlecode.com/svn/tags/selenium-2.25.0/(如
      果是使用的selenium0其他版本,如2.21,那么修改下最后的一个版本号就行/tags
      /selenium-2.21.0/),将里面的所有项目都检出到本地(随意取个名字如
      SeleniumSafari2.25)。
   3)cmd 到 这个刚自定义名字的 SeleniumSafari2.25 目录下 , 使用命令 go
      safari, 那么就开始自动build了(build出来的就是待会要添加的extension)。
   4) 打开safari,设置一下 把开发菜单调出来; 然后选择开发--显示扩展创建器--添加
      扩展--选择 SeleniumSafari2.25/build/javascript/safari-driver
      /SafariDriver.safariextension(这个便是刚才build出来的)
   5)选择安装 ,然后 OK, 可以再跑刚才的selenium代码试试了。
5, 这个时候的结果还是会出那个信息页面,不过稍等一下,,接下来就会正常的进入google
页面了。

java selenium操作safari的更多相关文章

  1. Java+Selenium操作日期时间选择框插件

    在自动化测试的时候我们经常会碰到下面的时间日期插件(这个时候这个文本框是不运行我们输入时间的), 我们可以用java获取当前日期,然后用Selenium结合JS代码就可以直接往文本框输入内容. 像这种 ...

  2. java selenium webdriver处理JS操作窗口滚动条

    未经作者允许,禁止转载!!! java selenium webdriver处理JS操作窗口滚动条 java selenium webdriver处理JS操作窗口滚动条 import org.open ...

  3. Java Selenium (十二) 操作弹出窗口 & 智能等待页面加载完成 & 处理 Iframe 中的元素

    一.操作弹出窗口   原理 在代码里, 通过 Set<String> allWindowsId = driver.getWindowHandles(); 来获取到所有弹出浏览器的句柄, 然 ...

  4. Java&Selenium调用JS实现高亮被操作页面元素高亮

    Java&Selenium调用JS实现高亮被操作页面元素高亮 /* * the method of invoking js to do something * * @author daviey ...

  5. 《手把手教你》系列技巧篇(二十九)-java+ selenium自动化测试- Actions的相关操作上篇(详解教程)

    1.简介 有些测试场景或者事件,Selenium根本就没有直接提供方法去操作,而且也不可能把各种测试场景都全面覆盖提供方法去操作.比如:就像鼠标悬停,一般测试场景鼠标悬停分两种常见,一种是鼠标悬停在某 ...

  6. 《手把手教你》系列技巧篇(三十)-java+ selenium自动化测试- Actions的相关操作下篇(详解教程)

    1.简介 本文主要介绍两个在测试过程中可能会用到的功能:Actions类中的拖拽操作和Actions类中的划取字段操作.例如:需要在一堆log字符中随机划取一段文字,然后右键选择摘取功能. 2.拖拽操 ...

  7. 《手把手教你》系列技巧篇(三十一)-java+ selenium自动化测试- Actions的相关操作-番外篇(详解教程)

    1.简介 上一篇中,宏哥说的宏哥在最后提到网站的反爬虫机制,那么宏哥在自己本地做一个网页,没有那个反爬虫的机制,谷歌浏览器是不是就可以验证成功了,宏哥就想验证一下自己想法,于是写了这一篇文章,另外也是 ...

  8. 《手把手教你》系列技巧篇(三十三)-java+ selenium自动化测试-单选和多选按钮操作-上篇(详解教程)

    1.简介 在实际自动化测试过程中,我们同样也避免不了会遇到单选和多选的测试,特别是调查问卷或者是答题系统中会经常碰到.因此宏哥在这里直接分享和介绍一下,希望小伙伴或者童鞋们在以后工作中遇到可以有所帮助 ...

  9. 《手把手教你》系列技巧篇(三十四)-java+ selenium自动化测试-单选和多选按钮操作-中篇(详解教程)

    1.简介 今天这一篇宏哥主要是讲解一下,如何使用list容器来遍历单选按钮.大致两部分内容:一部分是宏哥在本地弄的一个小demo,另一部分,宏哥是利用JQueryUI网站里的单选按钮进行实战. 2.d ...

随机推荐

  1. 20145215《网络对抗》Exp5 MSF基础应用

    20145215<网络对抗>Exp5 MSF基础应用 基础问题回答 用自己的话解释什么是exploit,payload,encode? exploit就相当于是载具,将真正要负责攻击的代码 ...

  2. 2018acm-icpc宁夏邀请赛后记

    由于要准备期末考试的缘故,时隔一个月之后我才想起来还有一场比赛没有总结. 大概是出去过的最远的地方了,宁夏理工学院离杭州有两千多千米. 不得不说感到了主办方满满的诚意,虽然是第一次办比赛,但是第一天组 ...

  3. 监听INPUT值的即时变化

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. Hadoop生态圈-Cloudera Manager的基本使用

    Hadoop生态圈-Cloudera Manager的基本使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 1>.ClouderaManager功能 1.1>.管理监 ...

  5. 创建 elasticsearch 用户

    创建 elasticsearch 用户 groupadd -g 3048 elasticsearch useradd -s /sbin/nologin -u 3048 -g elasticsearch ...

  6. Linux命令之ln

    ln命令(是l不是i注意了) 用处:建立链接,分为软链接和硬链接 用法:下面讲 示例: 一.硬链接 我想给profile文件建立一个硬链接(硬链接就是把这个文件复制一份的意思) 硬链接hard建好了, ...

  7. bzoj千题计划305:bzoj2565: 最长双回文串(回文自动机)

    https://www.lydsy.com/JudgeOnline/problem.php?id=2565 正着构造回文自动机 倒过来再构造一个回文自动机 分别求出以位置i开始的和结尾的最长回文串 # ...

  8. 转---python os.exec*()家族函数的用法

    execl(file, arg0,arg1,...) 用参数列表arg0, arg1 等等执行文件 execv(file, arglist) 除了使用参数向量列表,其他的和execl()相同 exec ...

  9. OpenGIS 介绍(转)

    值此FOSS4G大会即将召开之日,最近我会在Blog上依次介绍一些OpenGIS标准.架构及用于实现的软件.一方面给初涉此行的朋友一个快速入门的概览,另一方面也是对我接触OpenGIS近一年来的总结. ...

  10. SQL语句——重复记录

    1.查找重复记录: (按id查找) select * from user_info where id in ( select id from user_info group by id ) 即:sel ...