2016-07-08 5 views
1

次のコードがあり、"Element is not clickable at point"エラーメッセージが表示されずに要素をクリックする方法がわかりません。要素がポイントSelenium webdriverでクリックできない

また、要素をクリックする前に移動していることがわかります。次のコードサンプルは完全に動作するはずです。

var webdriver = require('selenium-webdriver') 
    , By = webdriver.By 
    , until = webdriver.until; 
var driver = new webdriver.Builder().forBrowser('firefox').build(); 
driver.get('http://www.vapeworld.com/'); 
driver.manage().timeouts().implicitlyWait(10, 3000); 
for (i = 0; i < 5; i++) { 
    try { 
     driver.executeScript("try{jQuery('[name=\"" + i.toString() + "_name\"]')[1].click()}catch(Ex){};"); 
    } 
    catch (Ex) {} 
} 
driver.findElement(webdriver.By.id('search')).sendKeys('pax 2'); //to enter text 
driver.findElement(webdriver.By.className('button search-button')).click(); 
driver.findElement(webdriver.By.id('product-collection-image-2270')).then(function (element) { 
    driver.actions().mouseMove(element).perform(); 
    driver.sleep(5000); 
    driver.actions().click(element).perform();   
}); 
driver.quit(); 
+0

完全なエラーメッセージとは何ですか?このメッセージは、どの要素がクリックをブロックしているかを示すため、メッセージを修正する方法を決定するための鍵となります。要素が何であるか、ダイアログやその他のポップアップを把握し、それに対処してください。一度それをすれば、あなたはおそらく解決されるでしょう。 – JeffC

答えて

1

あなたは次のようにクリックし実行するために.executeScript()で試してみてください: -

ただ、この行を変更:これに

driver.actions().click(element).perform(); 

を:

driver.executeScript("arguments[0].click()", element) 

は、それが動作しますホープ.. :)

0

あなたはどの要素があなたのclick要素にラップの上にされていないことを確認して、「ボタン、検索ボタン」上clickしようとしています。
'pax 2'の検索結果がclick要素と重複しているかどうかを確認してください。
そうであれば、検索のために重複しない他の要素のclickに入れて、望ましくないので、clickがページ上で変更を加えないようにしてください。 (いくつかのラベル要素をクリックしてみてください)
そして、あなたが望む要素にclickを入れてみてください。

+0

検索のクリックが機能しています。動作していないものは、driver.actions()です。click(element).perform(); – Yelitza

+0

はい、私は、あなたの検索結果があなたがクリックする必要がある要素をカバーしているかどうかを確認します。 –

関連する問題