IE浏览器Web自动化

一、常见问题

  1.1  在IE11浏览器下运行自动化脚本特别缓慢。

  具体表现:(64位IE驱动器下)脚本运行慢,尤其是文本框输入,其它浏览器是一起输入,但IE是单个字节输入字符串

  解决方法:更换IE的驱动器,换成32位的驱动,且版本最好选择IEDriverServer_Win32_2.50.0

  http://selenium-release.storage.googleapis.com/index.html

  

  1.2 在IE浏览器下selenium的xpath定位元素不兼容IE。

  具体表现:同样的xapth写法,能在Chrome跟Firefox稳定运行成功,在IE浏览器运行会报NosuchEletement,无法找到该元素。

  解决方法:优先Js定位元素,效率最高。 其次用id定位元素 < name < xpath < class 

  1.3 在IE浏览器下使用Js定位button点击,弹出Alter弹出框,无法用driver.switchTo.alter.accept 处理IE浏览器弹出框无效。

  具体表现:用js定位到表单的提交按钮,弹出弹出框确认或取消,然后用driver.swichTo.alter.accept处理弹出框确认无效,脚本会卡到这一步。

  解决方法: 用WebElement 定位元素,然后用键盘事件来处理提交。不要用WebDriver

  具体代码:

WebElement ele = driver.findElement(By.id("XXX"));
ele.sendKeys(Keys.ENTER);
Utils.waitABit(2000);
driver.switchTo().alert().accept();

   1.4  在IE浏览器下如何处理模拟框

     源码:

     具体表现: IE浏览器下会有个模拟对话框,F12无法查看源码html,可再上一个窗口查看其JS源码。会有个herp跳转路径。

   解决方法:用JS定位提交按钮button元素,触发模拟对话框,然后切换窗口至对话框,循环把单选框点击一遍,然后提交对话框内容。

   

  

原文地址:https://www.cnblogs.com/Shanghai-vame/p/9245225.html