章節十4、2-自動完成功能-Autocomplete

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

相關文章
相關標籤/搜索