如何使用Selenium Webdriver從日期選擇器div中選擇日期?
我們可以使用Selenium webdriver從日期選擇器中選擇日期。日曆中的日期選擇器可以在web UI上以多種方式設計。根據UI,我們需要設計我們的測試。
日曆可能包含用於選擇日、月或年的下拉選單。它還可能包含向前和向後導航,以便在日期中上下移動,或任何其他設計。下面的示例顯示了一個帶有日期選擇器的日曆。讓我們嘗試從下面的日曆中選擇2021年3月2日(2021年3月2日)的日期:

在上面的html程式碼中,我們可以看到日曆在一個由<table>標識的表格標籤內,它的日期由分別具有<tr>和<td>標籤的行和列表示(tr是td的父元素)。要選擇日期,我們需要使用findElements方法標識所有具有<td>標籤的元素。
此方法返回一個匹配元素列表。我們必須遍歷此列表,並使用getText方法檢查特定日期。一旦遇到所需日期,我們將選擇它並從迴圈中退出。
示例
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import java.util.List;
public class DtPicker{
public static void main(String[] args) {
System.setProperty("webdriver.gecko.driver", "C:\Users\ghs6kor\Desktop\Java\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
//implicit wait
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
//URL launch
driver.get("https://jqueryui.com/datepicker");
//switch to frame
WebElement f = driver .findElement(By.xpath("//iframe[@class='demo-frame']"));
driver.switchTo().frame(f);
//identify element within frame
WebElement l = driver.findElement(By.id("datepicker"));
l.click();
//identify all td elements in list
List<WebElement> t =driver.findElements(By.xpath("//table/tbody/tr/td"));
//list traversal
for (int k = 0; k<t.size(); k++) {
//check date
String dt = t.get(k).getText();
if (dt.equals("2")) {
t.get(k).click();
break;
}
}
//obtain selected date
String v = l.getAttribute("value");
System.out.print("Date selected by date picker: "+ v);
//close browser
driver.close();
}
}輸出

廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP