我有以下代码,但我无法弄清楚如何在不收到 “元素在该点不可点击”
错误消息的情况下单击元素。
您还可以看到我在单击元素之前移动到该元素。以下代码示例应该完全可以工作。
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();
最佳答案
您应该尝试使用 .executeScript()
执行点击,如下所示:-
只需更改此行:
driver.actions().click(element).perform();
对此:
driver.executeScript("arguments[0].click()", element)
希望它能起作用......:)
关于javascript - 元素在 Selenium webdriver 点不可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38258549/