WebDriver操作浏覽器tab

核心思想:运用FireFox或者其他浏览器的键盘快捷键,然后使用Action进行操作。

FireFox快捷键:https://support.mozilla.org/en-US/kb/keyboard-shortcuts-perform-firefox-tasks-quickly

下面是代码示例:

package webdriver;

import java.util.logging.Logger;

import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

public class TestWebDriver {
private static final Logger logger = Logger.getLogger(TestWebDriver.class.getName());
private WebDriver webDriver;

@BeforeClass
public void beforeClass(){
webDriver = new FirefoxDriver();
}

@Test
public void f(){
webDriver.get("http://www.sohu.com");
String title = webDriver.getTitle();
Actions actions = new Actions(webDriver);
//open a new tab
actions.keyDown(Keys.CONTROL).sendKeys("t").keyUp(Keys.CONTROL).perform();
//change to the second window
while(true){
actions.keyDown(Keys.CONTROL).sendKeys(Keys.TAB).keyUp(Keys.CONTROL).perform();
logger.info(webDriver.getTitle());
if(!title.equals(webDriver.getTitle())){
break;
}
}
}

@AfterClass
public void afterClass(){
webDriver.quit();
}
}

更多相关文章
  • 打开浏览器 HtmlUnit Driver 优点:不会实际打开浏览器,运行速度很快. 缺点:对JavaScript的支持不够好,有时会捕获不到页面元素. 使用:WebDriver driver=new HtmlUnitDriver(); Firefox 优点:Firefox Driver 对页面的自
  • 感谢潘德龙同学推荐的插件非常好用整理出来一些常用快捷键记下,顺便分享! x  关闭当前页 GW 跳出浏览器 J 展示左边页签 K展示右边页签 j向下滚动 k向上滚动 /搜索 ?打开幫助 r 刷新当前页 gs  展示网页源码 f 在当前页打开页面的链接 F在一个新的页打开页面的链接 T 搜索你当前打开 ...
  • webdriver 操作 Firefox 在關閉浏覽器時彈出 “Plugin Container for Firefox已停止工作” 處理辦法。
    上来先来一个图: 在使用webdriver操作Firefox浏览器的时候,一路顺畅.可是在最后关闭浏览器后,出现了如上面图示的警告!这个警告很早就出现了,因为也不影响测试结果,也就一直没理. 后来新搭建了一个windows虚拟机,也遇到了同样的问题.但是这次出现警告后,会阻塞住webdriver继续
  • 


    		    如何使用BHO定制你的Internet Explorer浏覽器
    如何使用BHO定制你的Internet Explorer浏览器 原文:微软公司 Dino Esposito 编译:朱先中 原文出处:Browser Helper Objects: The Browser the Way You Want It 一.简介 有时,你可能需要一个定制版本的浏览器.在这种情
  • 


    		    回顧IE浏覽器20年成長史
    微 软本周早些时候证实,将在未来全面放弃Internet Explorer(IE)浏览器,拟为Windows 10中全新开发的"Project Spartan"浏览器让路.从首个IE的诞生到如今生命的结束,刚刚好经历了20年.在这20年岁月里,IE有过荣耀,有过辉煌,有过挣扎,也 ...
  • 记得刚开始写网页的时候,听童鞋们说各大浏览器的内核,也是懵懵懂懂的,知一不知其二,今天特地查一下: 内核只是一个通俗的说法,其英文名称为“Layout engine”,翻译过来就是“排版引擎”,也被称为“页面渲染引擎”(下文中各种说法通用).它负责取得网页的内容(HTML.XML.图像等等).整 理
  • unix的哲学是很伟大的,这里先列出来它们,很简单,我也不评论什么,评论相当于亵渎,还是静观吧: 1. 模块性原则:写简单的,通过干净的接口可被连接的部件. 2. 清楚原则:清楚要比小聪明好. 3. 合并原则:设计能被其它程序连接的程序. 4. 分离原则:从机制分离从策略,从实现分离出接口. 5.
  • Selenium WebDriver广泛用于web自动化,这篇文章主要是介绍浏览器的一些操作.主要以Firefox为例, 因Chrome Driver是Chromium 项目自己支持和维护的,所以需另外下载安装Chr
一周排行
  • 本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/android-game/388.html 今天在这里大概说下
  • 部署ftp服务器 首先建立下载目录 mkdir -p /home/down 然后下载proftpd源码包 wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.2
  • 某天线上的ImpalaJob日志时不时的报错: ERROR:No backends configured Couldnot execute command:xxx 并且不是一直报错,查看statstore的日志发现:
  • 如果程序中需要使用C++的输入(cin)或输出(cout)工具,必须提供这样两行代码: 1 #include <iostream> 2 using namespace std; //可以使用空间名称为st ...
  • Introduction The purpose of this paper is to gain an understanding of project management and to give a brief ...
  • 这个题虽然简单,但是一定要细心,bug-free 能力很重要. 分析: 如果不知道链表的长度,可以采用双指针的方法,让一个指针先走 k 步,然后两个指针同时走, 前面的指针变成 NULL时, 第一个指针即是倒数第k
  • 我的系统是SUSE11 SP3,安装包是WASNDv7_LinuxX64_C1G35ML.tar.gz 使用root账户(最好咯,不用root的话要在配置文件里改权限) 创建一个文件夹,将安装包放进去(这步可以不做,
  • android 运行环境主要是虚拟机技术:Dalvik.每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的 Dalvik虚拟机实例.而每一个DVM都是在Linux中的一个进程,所以说可以认为是同一个
  • 1. 选取NAP-BAU DEV环境 2. 选取报表UNPAID CB INSURANCE REPORT 3. QUERY BUILDER执行SELECT * FROM CI_INFOOBJECTS WHERE SI
  • public class Border : System.Windows.Controls.Decorator 说明:在另一个元素的周围绘制边框.背景或同时绘制二者.