这里是要测试的页面login.html的源码:
<!DOCTYPE html> <html> <head> <title>For Selenium Test</title> <style type="text/css"> div { margin-top:10px } #inputEmail { color:red } </style> </head> <body> <center> <h3>Find Single Element</h3> </center> <form class="form-h"> <div class="items"> <div class="item"> Use ID:<input type="text" id="inputEmail" name="email" placeholder="Email"/> </div> </div> <div class="items"> <div class="item"> Use Name:<input type="password" id="inputPassword" name="password" placeholder="Password" class="inputClass"/> </div> </div> <div class="items"> <div class="item"> Use Link:<a href="#">UseLink</a> </div> </div> </form> </body> </html> |
一组元素的定位 :
package org.coderinfo.demo; import java.util.List; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; public class FindElements { private static final String URL = "file:///C:/user/Desktop/Selenium/checkbox.html"; //改为你自己的url public static void main(String[] args) { WebDriver driver = new ChromeDriver(); //create a chrome driver driver.manage().window().maximize(); // max size the chrome window driver.get(URL); //open URL with the chrome browser try { Thread.sleep(2000); // wait for web loading } catch (InterruptedException e) { e.printStackTrace(); } List<WebElement> webElements = driver.findElements(By.cssSelector("input[type='checkbox']")); // Use css selector to get all the checkbox for (WebElement webElement : webElements) { // loop through all elements webElement.click(); // click current element == select the current checkbox } System.out.println("Count: " + webElements.size()); //print the count of all the elements try { Thread.sleep(3000); // wait 3s } catch (InterruptedException e) { e.printStackTrace(); } webElements = driver.findElements(By.tagName("input")); // use tag name to get all the checkbox webElements.get(webElements.size()-1).click(); // Cancel the last selected checkbox try { Thread.sleep(5000); // wait 5s } catch (InterruptedException e) { e.printStackTrace(); } driver.quit(); // close webdriver } } |