2016-07-01 9 views
0

要素クリックできない私はを用いたOnPage本素子を検証しようとしたが(をisDisplayed) それは真を返します。 試したアクションクラスとJavascriptExecutorですが、運はありませんジャワセレンwebdriverを:

要素を見つけることができますが、クリックできません。

org.openqa.selenium.WebDriverException: unknown error: Element is not clickable at point (48, 339). Other element would receive the click: <div modal-render="true" tabindex="-1" role="dialog" class="modal fade ng-isolate-scope ng-animate ng-leave ng-leave-active" uib-modal-animation-class="fade" modal-in-class="in" ng-style="{'z-index': 1050 + index*10, display: 'block'}" uib-modal-window="modal-window" size="md" index="0" animate="animate" modal-animation="true" data-ng-animate="2" style="z-index: 1050; display: block;">...</div> 
    (Session info: chrome=51.0.2704.103) 
    (Driver info: chromedriver=2.7.236900,platform=Windows NT 6.3 x86_64) (WARNING: The server did not provide any stacktrace information) 
Command duration or timeout: 68 milliseconds 
Build info: version: '2.53.0', revision: '35ae25b1534ae328c771e0856c93e187490ca824', time: '2016-03-15 10:43:46' 
os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_91' 
Driver info: org.openqa.selenium.chrome.ChromeDriver 
Capabilities [{applicationCacheEnabled=false, rotatable=false, chrome=takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, version=51.0.2704.103, platform=XP, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}] 
Session ID: 58f38b1bcae44097a4dad7378ba32e35 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
    at java.lang.reflect.Constructor.newInstance(Unknown Source) 
    at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206) 
    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158) 
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678) 
    at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:327) 
    at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:85) 
+0

見てくださいhttp://stackoverflow.com/questions/37745080/element-is-not-clickable-error-getting-while-running-selenium-testcases/ 37745270#37745270 –

+0

使用しているコードと関連するHTMLを追加してください。 – JeffC

答えて

1

クリックの途中にDIVモーダルがあります。これは、エラーメッセージに説明されています。それを却下するか、そうでなければそれを処理する。

+0

DIVモーダルが処理される –

+0

それでも同じエラーが出る –

+0

私は、ページのgetURLを試みて、ハンドルが正しいページをポイントしていることを確認しようとしました。 私も明示的に待ちました。 –

0

WebDriverWaitクラスのExpectedConditionsを使用して、要素のClickableプロパティをチェックしてみます。

多くの場合、element.isDisplayed/isEnabledが動作しませんでしたが、これはうまくいきました。

例:コード:

Webdriver driver; 
WebDriverWait wait = new WebDriverWait(driver, 15); 
wait.until(ExpectedConditions.elementToBeClickable(By.className("xyz"))).click(); 
+0

要素があり、クリックしようとしました。エラーメッセージによると、別の要素が途中にあるという問題でした。 – JeffC

+0

ええ、あなたは絶対に正しいかもしれません。私の意図は、要素がクリック可能かどうかを確認する別の方法を提案することでした。セレンドライバはあなたにその機能を与えないので、WebdriverWaitを使用することにより、要素が存在し、クリック可能であることを確認することができます。 –