[英]Selenium Webdriverjs find text string using loop
好的,这很烦人。 我已经尝试解决了4天了,但是我只是被卡住了。 我需要单击一个按钮,但是该按钮没有ID或类属性。 我认为唯一的方法是遍历所有“按钮”对象并找到包含文本“提交”的对象。 然后单击该元素。 但是由于异步特性,一旦找到按钮对象,就无法获得该对象。 我需要一些方法来退后,或将该对象作为“ 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
});
}
});
您可以通过CSS选择器找到按钮,例如
driver.findElement(webdriver.By.css("input[type=submit]")).click();
或按文本值(如有必要):
driver.findElement(webdriver.By.css("input[value='Submit']")).click();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.