1、什麼是自動匹配功能?java
不少網站都有自動匹配功能,列如你在使用天貓搜索商品時,輸入「鞋」,輸入框的下面會出現不少與「鞋」有關的選項。web
2、以https://www.expedia.com/網站的城市輸入框爲例進行案例演示:chrome
1 package basicweb; 2 3 import java.util.List; 4 import java.util.concurrent.TimeUnit; 5 6 import org.junit.jupiter.api.AfterEach; 7 import org.junit.jupiter.api.BeforeEach; 8 import org.junit.jupiter.api.Test; 9 import org.openqa.selenium.By; 10 import org.openqa.selenium.WebDriver; 11 import org.openqa.selenium.WebElement; 12 import org.openqa.selenium.chrome.ChromeDriver; 13 14 class Autocomplete { 15 WebDriver driver; 16 String url; 17 18 @BeforeEach 19 void setUp() throws Exception { 20 driver = new ChromeDriver(); 21 url = "https://www.expedia.com/"; 22 driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); 23 driver.manage().window().maximize(); 24 } 25 26 @Test 27 void test() { 28 driver.get(url); 29 // 我想要輸入的值 30 String partialText = "He"; 31 // 我想選擇的值 32 String searchingText = "rmosillo, Sonora, Mexico"; 33 // 把文本框定義出來 34 WebElement text = driver.findElement(By.xpath("//label/input[@id='package-origin-hp-package']")); 35 // 在文本框中輸入「我想要輸入的值」 36 text.sendKeys(partialText); 37 // 將匹配到的值都定位出來,放到集合中 38 List<WebElement> xzText = driver.findElements(By.xpath("//span[@class='text']")); 39 // 經過for循環讀取集合中的原始 40 for(WebElement xz:xzText) { 41 // 判斷輸入的值是否包含在集合中 42 if(xz.getText().contains(searchingText)) { 43 // 若是匹配就點擊 44 xz.click(); 45 break; 46 } 47 } 48 } 49 50 @AfterEach 51 void tearDown() throws Exception { 52 Thread.sleep(2000); 53 driver.quit(); 54 } 55 }
若是有不明白的小夥伴能夠加羣「555191854」問我,羣裏都是軟件行業的小夥伴相互一塊兒學習。api