簡體   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