2016-07-08 116 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

是的,我明白了,只是檢查你的搜索結果是否覆蓋你需要點擊的元素。 –

相關問題