0

我正在使用远程 webdriver 在远程 VM 上驱动 IE 浏览器 [这是网格设置的一部分]

我注意到 click 和 sendkey 事件随机失败,即会话结束并且浏览器退出。这发生在脚本的不同部分,它并没有被隔离到一个区域,并且仅在执行 click 和 sendkey 事件时发生。

查看日志,它看起来好像事件实际上被触发但什么也没做,所以当它移动到下一行时它退出,因为它找不到元素。

我正在使用 IE8 并且浏览器缩放设置为 100% 。我曾尝试将 JavaScriptExecutor 与 Jqueryselectors 一起使用并得到一个 javascript 异常,因此我被迫使用单击和发送键。

有没有人面临类似的问题

4

2 回答 2

0

我在 iPhone 上运行远程 Web 驱动程序时遇到了类似的问题。似乎远程 Web 驱动程序不支持 jQuery 触摸事件,这意味着 JQuery 正在寻找给定数量的触摸事件,例如。点击、触摸启动、滑动等,但当您调用 click 时,Selenium 不会触发其中任何一个。我求助于使用以下Javascript:

window.jQuery(document.elementFromPoint(198,216)).trigger('touchstart');

您可以使用driver.findElement(By.id(id)).getLocation()来获取要单击的元素的位置。

然而,当我执行 Javascript 时,我确实遇到了一个异常:

org.openqa.selenium.WebDriverException:'undefined' 不是对象命令持续时间或超时:530 毫秒构建信息:版本:'2.2.1',修订:'16551',时间:'2012-04-11 21:42 :35' 系统信息:os.name:'Mac OS X',os.arch:'x86_64',os.version:'10.7.5',java.version:'1.6.0_37' 驱动程序信息:driver.version: RemoteWebDriver 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 在 java.lang.reflect。 org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java: 上的 Constructor.newInstance(Constructor.java:513)175) 在 org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:459) 在 org.openqa.selenium.remote.RemoteWebDriver 在 org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:128) .executeScript(RemoteWebDriver.java:366) 在 com.alea.qa.sample.CustomTouchAction.executeScript(CustomTouchAction.java:108) 在 com.alea.qa.sample.CustomTouchAction.Touchstart(CustomTouchAction.java:76) 在 com。 alea.qa.sample.anotherRun.main(anotherRun.java:34) 原因:org.openqa.selenium.remote.ErrorHandler$UnknownServerException:'undefined' 不是对象 构建信息:版本:'2.2.1',修订版: '16551', 时间: '2012-04-11 21:42:35' 系统信息: os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.7.5', java.version: '1.6.0_37' 驱动程序信息:驱动程序版本:未知

但它仍然设法单击该元素。

于 2012-11-05T17:24:41.873 回答
0

看看用户 Slanec 的这个问题及其(目前是第一个也是唯一的)答案。听起来很相似。简而言之,尝试调整浏览器窗口的大小。Selenium 驱动程序可能无法访问边缘附近的元素。

于 2013-10-10T08:47:28.947 回答