selenium 每个窗口都有一个句柄,driver对象的window_handles属性可以返回当前浏览器窗口的句柄,可以理解为就是每个标签页的身份ID,获取到这个ID就可以对当前的标签页
1 以下是通用的句柄获取方法
//得到当前窗口的句柄
String currentWindow = drivergetWindowHandle();
//得到所有窗口的句柄
Set<String> handles = drivergetWindowHandles();
//不包括当前窗口
handlesremove(currentWindow);
//判断是否存在窗口
Systemoutprintln(handlessize());
if (handlessize() > 0) {
try{
//定位窗口
driverswitchTo()window(handlesiterator()next());
}catch(Exception e){
Systemoutprintln(egetMessage());
}
}
2 等待一个窗口打开
private static String waitForPopUpOpen(WebElement elementToClick,int waitTime){
Set<String> afterPopUp;
int timeOut = waitTime2;
Set<String> beforePopUp = globalDrivergetWindowHandles();
do{
elementToClickclick();
Generalsleep(05);
afterPopUp = globalDrivergetWindowHandles();
afterPopUpremoveAll(beforePopUp);
timeOut -= 1;
}while(afterPopUpsize() != 1 && timeOut != 0);
if(afterPopUpsize() == 1){
return (String)afterPopUptoArray()[0];
}
else
return null;
}
1、直接打开selenium的主界面,按照File→New→Class的顺序进行点击。
2、下一步,需要在d出的窗口中设置相关内容并确定创建。
3、这个时候,输入获取元素属性的对应代码。
4、如果没问题,就按照图示启用取得id值的功能。
5、等完成上述 *** 作以后,继续通过对应网页选择图示按钮跳转。
6、这样一来会得到相关结果,即可达到目的了。
窗口切换
我们在使用 浏览器 打开链接时,通常会存在2种情况:
1 在当前窗口打开,即覆盖。
2 新建窗口打开,保留原有窗口。
示例:
· 百度 首页搜索:博客园。
· 打开博客园官网,获取当前页精华帖的标题。
· 回到百度输入框,并打印出 title。
代码如下:
from selenium import webdriver
driver = webdriverChrome()
driverimplicitly_wait(10)
# 打开百度首页
driverget('>
fromseleniumimportwebdriver
driver=webdriverChrome()
drivermaximize_window()
driverimplicitly_wait(2)
driverget(">
以上就是关于Python下selenium 打开新的窗口和切换到其他窗口全部的内容,包括:Python下selenium 打开新的窗口和切换到其他窗口、Selenium如何实现窗口句柄的切、selenium如何获取已定位元素的属性值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)