这里是要测试的页面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
}
}