繁体   English   中英

Selenium Webdriverjs使用循环查找文本字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM