好的,这很烦人。我现在一直试图解决这个问题4天而且我只是陷入困境。我需要单击一个按钮,但按钮没有ID或类属性。我认为唯一的方法是遍历所有" Button"对象并找到包含文本的对象#34;提交"。然后单击该元素。但是由于Async特性,一旦找到按钮对象,就无法获得该对象。我需要某种方式退后一步,或将该对象作为" innerHTML"的一部分传递。功能调用。我在这里:
driver.findElements(webdriver.By.tagName('button')).then(function(webElements)
{
for(var i=0; i<webElements.length; i++)
{
driver.executeScript(function() {
return webElements[i].innerHTML;
}).then(function(innerHTML) {
if(innerHTML == 'Submit')
webElements[i].click(); // webElements[i] is NULL
});
}
});
答案 0 :(得分:0)
您可以通过CSS选择器找到按钮,例如
driver.findElement(webdriver.By.css("input[type=submit]")).click();
或文字值,如有必要:
driver.findElement(webdriver.By.css("input[value='Submit']")).click();