HTML代码如下:
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title>Checkbox</title> <link href="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet" /> <script src="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.js"></script> </head> <body> <h3>checkbox</h3> <div class="well"> <form class="form-horizontal"> <div class="control-group"> <label class="control-label" for="c1">checkbox1</label> <div class="controls"> <input type="checkbox" id="c1" /> </div> </div> <div class="control-group"> <label class="control-label" for="c2">checkbox2</label> <div class="controls"> <input type="checkbox" id="c2" /> </div> </div> <div class="control-group"> <label class="control-label" for="c3">checkbox3</label> <div class="controls"> <input type="checkbox" id="c3" /> </div> </div> </form> </div> </body> </html>
谷歌浏览器代码如下:
public static void main(String[] args) throws IOException, InterruptedException { System.setProperty("webdriver.chrome.driver", "D:/chromedriver_win32/chromedriver.exe"); ChromeOptions Options = new ChromeOptions(); Options.addArguments("user-data-dir=C:\\Users\\happy\\AppData\\Local\\Google\\Chrome\\User Data"); WebDriver driver = new ChromeDriver(Options); try { File file = new File("C:/Users/happy/Desktop/NewFile.html"); // Java 流(Stream) 中的File类 String filepath = file.getAbsolutePath(); // 获取文件的绝对路径 driver.get(filepath); // 在浏览器中打开相关文件NewFile.html List<WebElement> inputs = driver.findElements(By.tagName("input")); // 把所有的input标签放入List集合。然后用foreach 遍历元素。 for (WebElement checkbox : inputs) { String type1 = new String(checkbox.getAttribute("type")); if (type1.equals("checkbox")) { System.out.println(checkbox.getAttribute("id")); // 打印出执行点击操作的元素的id checkbox.click(); } } } finally { Thread.sleep(10000); driver.close(); driver.quit(); } }
driver.navigate().refresh();
这个方法用于刷新页面。
inputs.size()
size()方法可以计算获得元素的个数。这里获得的结果为3。3 减1 为2。
inputs.get().click();//集合的get()方法,可以直接对指定元素进行操作。获取集合中的指定元素。
get()指定得到元素组中的第几个元素,并对其时行click()操作。