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

是的,我明白了,只是检查你的搜索结果是否覆盖你需要点击的元素。 –

相关问题