Selenium 弹出框、页面跳转总结_dangliuzi_selenium处理弹出窗口

2020-02-28 其他工作总结 下载本文

Selenium 弹出框、页面跳转总结_dangliuzi由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“selenium处理弹出窗口”。

在eclipse中运行!验证处理过程。

Selenium 弹出框、页面跳转、遍历相同控件、执行js

1、对话框处理

Alert alert = driver.switchTo().alert();alert.accept();//确定 alert.dismi();//取消

alert.getText();//取到文本内容

实际系统中,弹出窗口必定是某些操作完成、信息加载之后用做提示,因此弹出窗口有时出现得快,有时出现得慢,直接使用driver.switchTo().alert();很容易出现执行失败的情况。

咱们先判断是否出现了弹出框,封装成以下方法: protected boolean alertExists(int seconds){ long start = System.currentTimeMillis();while((System.currentTimeMillis()-start)

2、页面跳转,弹出窗口 //得到当前窗口的句柄

String currentWindow = driver.getWindowHandle();//得到所有窗口的句柄

Set handles = driver.getWindowHandles();

Iterator it = handles.iterator();while(it.hasNext()){ if(currentWindow == it.next())continue;WebDriver window = driver.switchTo().window(it.next());//获得新窗口,新的webDriver实例。

System.out.println(“title,url = ”+window.getTitle()+“,”+window.getCurrentUrl());}

另外,还有的iframe 之间转换方法

driver.switchTo().defaultContent();切换到某个frame:

driver.switchTo().frame(“leftFrame”);从一个frame切换到另一个frame: driver.switchTo().frame(“mainFrame”);

切换到某个window:

driver.switchTo().window(“windowName”);

3、遍历控件

List elements= driver.findElements(By.linkText(“开始学习”));elements.get(1).click();findElements()方法返回所有相同的WebElement的List,咱们直接访问某一个元素,也可以遍历操作,,这种功能大家都不回拒绝

遍历

for(Iterator i = elements.iterator();i.hasNext();){ WebElement integerRef = i.next();}

4、执行JS

Web driver对Java Script的调用是通过JavascriptExecutor来实现的,例如: JavascriptExecutor js =(JavascriptExecutor)driver;

js.executeScript(“(function(){inventoryGridMgr.setTableFieldValue('”+ inventoryId + “','” + fieldName + “','”

+ value + “');})()”);

《Selenium 弹出框、页面跳转总结_dangliuzi.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
Selenium 弹出框、页面跳转总结_dangliuzi
点击下载文档
相关专题 selenium处理弹出窗口 弹出 跳转 页面 selenium处理弹出窗口 弹出 跳转 页面
[其他工作总结]相关推荐
    [其他工作总结]热门文章
      下载全文