selenium(2)----JAVA版本
创始人
2025-06-01 03:40:46

1)如何打印页面标题和当前页面的url 

public void TestBaiDu11(){//1.获取文章标题String title=driver.getTitle();System.out.println(title);//2.打印当前页面的urlString url=driver.getCurrentUrl();System.out.println(url);}

2)点击百度首页上面的这些新闻超链接,并将跳转后的新页面的url和title打印出来

 

 

1)点击了超链接之后我们打开了新的标签页,加上原来的百度首页一共就有两个标签页了但是此时对于selenium来说是不知道当前展示的页面是什么仍然还在定位第一个界面中的元素

2)selenium对每一个标签页都给了唯一的一个标识,但是selenium并不能直接跳转到我们所期望的一个页面,称之为句柄,每一个页面都有唯一的句柄,代表页面的唯一身份标识

3)窗口

1)获取当前页面的句柄:通过driver.getWindowHandle()来获取

 public void TestBaiDu11(){String curWindow1=driver.getWindowHandle();System.out.println("页面跳转前的句柄是"+curWindow1);driver.findElement(By.linkText("新闻")).click();driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));String curWindow2=driver.getWindowHandle();System.out.println("页面跳转之后的句柄是"+curWindow2);}

由此可以看出在页面跳转之前和新标签页面打开之后,页面的句柄是没有发生任何变化的

2)获取到所有页面的句柄:通过driver.getWindowHandles()来进行获取,最终的返回值是Set

 public void TestBaiDu11(){driver.findElement(By.linkText("新闻")).click();//页面显式等待driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));//获取到当前页面的所有页面句柄Set allwindows=driver.getWindowHandles();for(String window:allwindows){System.out.println(window);}

3)那么我们如何切换到最新的页面呢?转换到最新的页面句柄呢

在这里面通过的是driver.switch().window(字符串类型(是操作页面句柄))

这个字符串是从所有的操作句柄中取出来的

就可以成功把selenium定位到新的标签页

 public void TestBaiDu11(){//1.进行跳转到新闻页面driver.findElement(By.linkText("新闻")).click();driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));//2.在进行获取到当前所有页面的句柄LinkedHashSet resultHandlers= (LinkedHashSet) driver.getWindowHandles();List handlers=new ArrayList<>();//3.将其转化成一个字符串数组for(String window:resultHandlers){handlers.add(window);}//4.将句柄转移到最新的页面driver.switchTo().window(handlers.get(1));//5.获取到当前页面的url和titleString title=driver.getTitle();String url=driver.getCurrentUrl();System.out.println("当前页面的title是"+title+"\n"+"当前页面的url是"+url);}

这个时候这样的想法,直接写一个for循环,当i等于集合的长度的时候再进行跳转,但是Set集合是没有顺序的

4)窗口大小的设置

1)driver.manage().window().maximize();直接让窗口最大化
2)driver.manage().window().minimize();直接让窗口最小化
3)Dimension dimension=new Dimension(height,width);设置窗口的宽度和高度
driver.manage().window().setSize(dimension);

5)窗面的移动

window.scroll(0,document.body.scrollTop)JS脚本滑动到最顶端

window.scroll(0,document.body.scrollHeight)JS脚本滑动到最底端

selenium不可以直接编译JS语言,但是仍然可以使用函数方法来执行JS脚本

driver.executeScript("JS的语言的字符串");

6)导航:在selenium里面通过navigate()接口来实现页面的导航

前进:driver.navigate().forward()

后退:driver.navigate().back()

相关内容

热门资讯

&lt;必备盘点>... 亲.网上麻将这款游戏是可以开挂的,确实是有挂的,通过添加客服【3045033】很多玩家在这款游戏中怀...
西兵互娱.有挂吗[透视曝光猫腻... 西兵互娱.有挂吗[透视曝光猫腻]亲,西兵互娱这个游戏其实有挂的,确实是有挂的,需要了解加客服微信【9...
玩家必看“微乐填大坑到底有挂吗... 亲.微乐填大坑这款游戏是可以开挂的,确实是有挂的,通过添加客服【4830828】很多玩家在这款游戏中...
科普实测“白金岛跑胡子有透视挂... 您好:白金岛跑胡子这款游戏可以开挂,确实是有挂的,需要软件加微信【4770480】,很多玩家在白金岛...
玩家必看“新金龙到底是不是有透... 您好:新金龙这款游戏可以开挂,确实是有挂的,需要软件加微信【6355786】,很多玩家在新金龙这款游...