WebElement link = elementfindElement(BytagName("a"));
String href = linkgetAttribute("href");
JavascriptExecutor executor = (JavascriptExecutor) driver;
executorexecuteScript("windowopen('" + href + "')");
具体方式就是拿到一个连接的WebElement对象,然后通过getAttribute("href")属性获取它的链接地址
然后通过调用javascript脚本的方式,执行windowopen()方法在一个新窗口打开这个链接
然后需要通过切换handle的方式跳转到这个新的页面去具体方法:
for (String toHandle : drivergetWindowHandles()) {
if (toHandleequals(curHandle)) {
continue;
}
driverswitchTo()window(toHandle); //切换到另一个新句柄
SubjectPage subPage = PageCreatorcreatePage(SubjectPageclass);//创建页面,我自己封装的,可忽略
drivermanage()timeouts()implicitlyWait(3, TimeUnitSECONDS);
// TODO
subPagecloseMe(); //自己封装的,忽略
driverswitchTo()window(curHandle);
}
最大化、最小化浏览器
控制、获取浏览器大小
执行结果:
浏览器大小:{'width': 1936, 'height': 1056}
获取当前标签页title、url
执行结果:
前进、后退、刷新
执行js语句
打开、关闭新标签页
执行结果
知识点
滚动页面
你可以在chrome上加一个代理,比如tiny proxy,它是纯python写的。你改一改就可以奕成抓包程序, 自然就可以获得返回的请求。
另外在selenium里,也应该可以获得响应结果。它通过chrome驱动,我没有仔细看过代码,webkit内核是直接通过toHtml,或者是类似的命令可以获得响应结果的。 selenium应该也可以。
猜可以通过javascript驱动selenium,获得响应结果。
1、可以通过浏览器的调试功能,例如Firefox按F12,点网络标签,然后就可以看到网页的所有数据信息,网页通过AJAX异步加载的数据也可以得到。
2、使用抓包类的工具,如SmartSniff,经过分析也可以得到数据也可以得到数据!
以上就是关于怎么通过selenium实现在新窗口打开链接全部的内容,包括:怎么通过selenium实现在新窗口打开链接、二 selenium原理以及如何 *** 作浏览器、用python,selenium,打开网页或者点击按钮会向服务器发送很多请求,用python如何获等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)