IE浏览器相关的问题及解决方案[转]
seleniumquery和IE的司机
本网页是关于seleniumquery和IE(Internet Explorer)作为驱动/ WebDriver /浏览器。
首先,确保你检查internetexplorerdriver硒Wiki页面,特别是所需配置部分-如果你穿过它,你很可能不会遇到麻烦!
使用Internet Explorer中的seleniumquery WebDriver
下载后iedriverserver.exe
,可以放在类路径(作为演示项目—下载并运行它,如果你有麻烦),然后你需要做的是调用useinternetexplorer()。
:
1
2
3
4
5
6
7
8
9
10
11
12
|
进口静态 IO。GitHub。seleniumquery。seleniumquery美元。;/这将允许短语法 公共 类 seleniumqueryexample{公共 静态 无效 主要(字符串[ ]args){ //设置为驱动的Internet Explorer(这是可选的,如果省略,则默认为HtmlUnit)美元。driver()。useinternetexplorer();//将搜索路径和路径iedriverserver.exe美元。URL(“http://www.google.com/?HL = EN“ );“:文本[名称= Q’]“)。瓦尔(“硒“); //按键实际型!$(“:按钮:包含(‘谷歌搜索”)“)。();/ /另一种方式:$(“:文本[名称= Q“]”)。瓦尔(“硒”)。submit(); / /除了语法和jQuery的行为你已经知道, 在seleniumquery / /其他非常有用的功能。waituntil(), / /便于处理用户等待行动(特别是在基于AJAX的页面): 字符串resultstext=$(“# resultstats“)。waituntil()。是(“:可见“)。then()。();系统。出。println(resultstext); 。quit();/ /退出当前使用的驱动程序(IE) } } |
记住,你可以下载最新的iedriverserver.exe
释放http://selenium-release.storage.googleapis.com/index.html并把它:
- (1)在项目的类路径;或
- (2)在指定的路径
webdriver.ie.driver
系统属性;或 - (3)在系统路径变量文件夹;或
-
(4)无论设置路径通过
1美元。driver()。useinternetexplorer()。withpathtoiedriverserverexe(“其他/路径/ iedriverserver.exe“);
和你一起去。
throubleshootinginternetexplorerdriver
即司机有一些非常频繁的例外;那些是不相关的seleniumquery,但从驾驶员本身。你会发现一些指导如何解决以下。
保护模式下启动IE时除司机
消息可以像:
启动Internet Explorer时发生意外的错误。保护模式必须设置为相同的值(启用或禁用)为所有区域。
或
org.openqa.selenium.remote.sessionnotfoundexception:意外错误启动Internet Explorer。保护模式的设置是不一样的所有区域。启用保护模式必须设置为相同的值(启用或禁用)为所有区域。(警告:服务器不提供任何堆栈跟踪信息)
下面找到一些解决办法。
在所有区域的保护模式的变化
与所述https://code.google.com/p/selenium/issues/detail?ID = 1795,在IE中,去工具
->Internet选项
->安全标签
并设置所有区相同的保护模式(可以启用或禁用)。
这也解释了在计算器的答案:
它需要在所有区域设置相同的安全级别。这样做,按照下面的步骤:
- 打开IE
- 去工具-> Internet选项->安全
- 将所有带到相同的保护模式,启用或禁用不应该的事。
最后,设置缩放级别100%通过右键点击齿轮位于右上角,使状态栏。 默认缩放级别显示下的现在。
如果你不能改变安全级别:
1
2
3
|
系统。setProperty(“webdriver.ie.driver“,iedriverlocation);desiredcapabilitiesiecapabilities= desiredcapabilities。internetexplorer(); 。setcapability(internetexplorerdriver。introduce_flakiness_by_ignoring_security_domains,真正的);WebDriveriedriver= 新 internetexplorerdriver(iecapabilities); 。driver()。使用(iedriver); |
但被警告这可能没有明显的理由让你的司机关闭/休息/故障。
缩放级别错误启动Internet Explorer时
可能的例外是如下:
org.openqa.selenium.remote.sessionnotfoundexception:意外错误启动Internet Explorer。浏览器的缩放级别设置为75%。它应该被设置为100%(警告:服务器不提供任何堆栈跟踪信息)
修复:最简单的方法就是打开IE手动设置缩放级别100%(打Ctrl+零或是通过菜单)。
此外,你可以尝试创建internetexplorerdriver
手动忽略变焦设置:
1
2
3
|
系统。setProperty(“webdriver.ie.driver“,iedriverlocation);desiredcapabilities帽子= desiredcapabilities。internetexplorer(); 。setcapability(“ignorezoomsetting“,真正的);WebDriveriedriver= 新 internetexplorerdriver(帽); 。driver()。使用(iedriver); |
无法获取浏览器
这是一个最严重的错误,因为它给不知道发生了什么。
如果你得到一个:
org.openqa.selenium.nosuchwindowexception:无法获取浏览器(警告:服务器不提供任何堆栈跟踪信息) 正确的开始了,
修理:你设置你的保护模式为相同的值(如上所述)?如果答案是肯定的,那么尝试设置他们都禁用。
如果没有解决问题,一定要按照所有的步骤所需配置部分的硒即驱动维基。
invalidselectorexception:“XPath表达式…无法评估或不会导致一个webelement”
如果你的XPath表达式是正确的,除了上述可能上升如果HTML页面是一个本地文件。
在这种情况下,遵循下面的步骤来修复它:
- 去
工具
->Internet选项
- 打开
高级
标签 - 寻找
安防
组和检查“允许运行的文件在我的电脑上*”的活动内容,如下面的截图: