iPhone で実行されているリモート Web ドライバーで同様の問題が発生していました。リモート Web ドライバーは jQuery タッチ イベントをサポートしていないようです。つまり、JQuery は特定の数のタッチ イベントを探しています。タップ、タッチスタート、スワイプなどですが、クリックを呼び出してもセレンはそれらのいずれもトリガーしません。私は次の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: java.lang.reflect. org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java: の Constructor.newInstance(Constructor.java:513)175) org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:128) で org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:459) で org.openqa.selenium.remote.RemoteWebDriver com.alea.qa.sample.CustomTouchAction.executeScript(CustomTouchAction.java:108) の .executeScript(RemoteWebDriver.java:366) 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' ドライバー情報: driver.version: 不明
しかし、それでも要素をクリックすることができました。