一、常见问题
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元素,触发模拟对话框,然后切换窗口至对话框,循环把单选框点击一遍,然后提交对话框内容。