0

我正在学习使用 WedDriver。我找到了这个例子来演示如何使用 findElements(by) 方法。这个例子使用了一个 for 循环来查找网页上的搜索框。有人可以解释它是如何工作的,并将其与常规的 for 循环用法进行比较吗?谢谢你的帮助。如果您可以通过使用 for 循环遍历 Web 元素为我提供一些教程示例,这将有助于我的理解。谢谢!

通过常规 for 循环,我的意思是

for (int i = 0; i<=10; i++){
      System.out.println(i);
 } 



for(WebElement ele: elements){
                ele.sendKeys("hexbytes");
            }

以下是来自网络的代码示例:

import java.util.List;

import org.junit.Test;
import org.junit.Before;
import org.junit.After;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;

public class WD_findElements 
{
    @Test
    public void test_byid() 
    {
      /**
        * Identifying elements by Id
        * Example: Identify search boxes with id and fill them with some text
        */
        WebDriver driver = new FirefoxDriver();

        try
        {
            driver.get("http://www.hexbytes.com");

            //Identify the search boxes in the pages
            List<WebElement> elements = driver.findElements(By.id("s"));

            //display number of elements
            System.out.print("Number of search elements: "+ elements.size());

            for(WebElement ele: elements){
                ele.sendKeys("hexbytes");
            }
        }

        finally{
            driver.close();
        }

    }//end of test_by_id method

}
4

1 回答 1

1

这个 for 循环只是遍历列表的另一种方式。它或多或少相当于

for (int i = 0; i<=elements.size(); i++){
     WebElement ele = elements.get(i);
     ....
}

在这里你有更多的例子。

于 2013-04-26T12:49:33.413 回答