电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Java Selenium實現多窗口切換的示例代碼

瀏覽:10日期:2022-08-25 17:04:46

在web應用中,常常會遇見點擊某個鏈接會彈出一個新的窗口,或者是相互關聯的web應用 ,這樣要去操作新窗口中的元素,就需要主機切換到新窗口進行操作。WebDriver 提供了switchTo().window()方法可以實現在不同的窗口之間切換。

獲取當前窗口瀏覽器句柄:driver.getWindowHandle(); 獲取所有窗口的瀏覽器句柄到當前會話:driver.getWindowHandles(); 用于不同窗口的切換:switchTo().window();

在頁面操作過程中有時候點擊某個鏈接會彈出新的窗口, 這時就需要主機切換到新打開的窗口上進行操作。WebDriver提供了switchTo().window()方法可以實現在不同的窗口之間切換。

以百度首頁和百度注冊頁為例,在兩個窗口之間的切換如下圖。

實現窗口切換的代碼如下:

import java.util.Set;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;public class MoreWindows { public static void main(String[] arge) throws InterruptedException{ WebDriver driver = new ChromeDriver(); driver.get('https://www.baidu.com'); //獲得當前窗口句柄 String search_handle = driver.getWindowHandle(); //打開百度注冊窗口 driver.findElement(By.linkText('登錄')).click(); Thread.sleep(3000); driver.findElement(By.linkText('立即注冊')).click(); //獲得所有窗口句柄 Set<String> handles = driver.getWindowHandles(); //判斷是否為注冊窗口, 并操作注冊窗口上的元素 for(String handle : handles){ if (handle.equals(search_handle)==false){ //切換到注冊頁面 driver.switchTo().window(handle); System.out.println('now register window!'); Thread.sleep(2000); driver.findElement(By.name('userName')).clear(); driver.findElement(By.name('userName')).sendKeys('user name'); driver.findElement(By.name('phone')).clear(); driver.findElement(By.name('phone')).sendKeys('phone number'); //...... Thread.sleep(2000); //關閉當前窗口 driver.close(); } } Thread.sleep(2000); driver.quit(); }}

在本例中所涉及的新方法如下:

getWindowHandle(): 獲得當前窗口句柄。 getWindowHandles(): 返回的所有窗口的句柄到當前會話。 switchTo().window(): 用于切換到相應的窗口,與上一節的switchTo().frame()類似,前者用于不同窗口的切換, 后者用于不同表單之間的切換。

到此這篇關于Java Selenium實現多窗口切換的示例代碼的文章就介紹到這了,更多相關Java Selenium 多窗口切換內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 超声波电磁流量计-液位计-孔板流量计-料位计-江苏信仪自动化仪表有限公司 | 新材料分散-高速均质搅拌机-超声波分散混合-上海化烁智能设备有限公司 | hc22_hc22价格_hc22哈氏合金—东锜特殊钢 | 马尔表面粗糙度仪-MAHR-T500Hommel-Mitutoyo粗糙度仪-笃挚仪器 | 美国HASKEL增压泵-伊莱科elettrotec流量开关-上海方未机械设备有限公司 | 齿轮减速电机一体机_蜗轮蜗杆减速马达-德国BOSERL齿轮减速机带电机生产厂家 | 石膏基自流平砂浆厂家-高强石膏基保温隔声自流平-轻质抹灰石膏粉砂浆批发-永康市汇利建设有限公司 | 国产频谱分析仪-国产网络分析仪-上海坚融实业有限公司 | 铸钢件厂家-铸钢齿轮-减速机厂家-淄博凯振机械有限公司 | 智能监控-安防监控-监控系统安装-弱电工程公司_成都万全电子 | 昆明网络公司|云南网络公司|昆明网站建设公司|昆明网页设计|云南网站制作|新媒体运营公司|APP开发|小程序研发|尽在昆明奥远科技有限公司 | 钢托盘,铁托盘,钢制托盘,镀锌托盘,饲料托盘,钢托盘制造商-南京飞天金属13260753852 | 压片机_高速_单冲_双层_花篮式_多功能旋转压片机-上海天九压片机厂家 | PVC地板|PVC塑胶地板|PVC地板厂家|地板胶|防静电地板-无锡腾方装饰材料有限公司-咨询热线:4008-798-128 | 空气能暖气片,暖气片厂家,山东暖气片,临沂暖气片-临沂永超暖通设备有限公司 | 玉米深加工设备-玉米深加工机械-新型玉米工机械生产厂家-河南粮院机械制造有限公司 | 回转炉,外热式回转窑,回转窑炉-淄博圣元窑炉工程有限公司 | 至顶网| 电车线(用于供电给电车的输电线路)-百科 | PE拉伸缠绕膜,拉伸缠绕膜厂家,纳米缠绕膜-山东凯祥包装 | 芜湖厨房设备_芜湖商用厨具_芜湖厨具设备-芜湖鑫环厨具有限公司 控显科技 - 工控一体机、工业显示器、工业平板电脑源头厂家 | 安规电容|薄膜电容|陶瓷电容|智旭JEC安规电容厂家 | 南京种植牙医院【官方挂号】_南京治疗种植牙医院那个好_南京看种植牙哪里好_南京茀莱堡口腔医院 尼龙PA610树脂,尼龙PA612树脂,尼龙PA1010树脂,透明尼龙-谷骐科技【官网】 | 七维官网-水性工业漆_轨道交通涂料_钢结构漆 | 超声波分散机-均质机-萃取仪-超声波涂料分散设备-杭州精浩 | 金蝶帐无忧|云代账软件|智能财税软件|会计代账公司专用软件 | ?水马注水围挡_塑料注水围挡_防撞桶-常州瑞轩水马注水围挡有限公司 | 防爆型气象站_农业气象站_校园气象站_农业四情监测系统「山东万象环境科技有限公司」 | 西安耀程造价培训机构_工程预算实训_广联达实作实操培训 | 微型实验室真空泵-无油干式真空泵-微型涡旋耐腐蚀压缩机-思科涡旋科技(杭州)有限公司 | 高压无油空压机_无油水润滑空压机_水润滑无油螺杆空压机_无油空压机厂家-科普柯超滤(广东)节能科技有限公司 | 北京四合院出租,北京四合院出售,北京平房买卖 - 顺益兴四合院 | 电伴热系统施工_仪表电伴热保温箱厂家_沃安电伴热管缆工业技术(济南)有限公司 | 伸缩器_伸缩接头_传力接头-巩义市润达管道设备制造有限公司 | 湖南档案密集架,智能,物证,移动,价格-湖南档案密集架厂家 | 小型气象站_车载气象站_便携气象站-山东风途物联网 | 100_150_200_250_300_350_400公斤压力空气压缩机-舰艇航天配套厂家 | 上海新光明泵业制造有限公司-电动隔膜泵,气动隔膜泵,卧式|立式离心泵厂家 | 坏男孩影院-提供最新电影_动漫_综艺_电视剧_迅雷免费电影最新观看 | 盐水蒸发器,水洗盐设备,冷凝结晶切片机,转鼓切片机,絮凝剂加药系统-无锡瑞司恩机械有限公司 | 旋转/数显粘度计-运动粘度测定仪-上海平轩科学仪器 |