我正在尝试使日期选择器日历自动化。在chrome浏览器中,它抛出了过时的元素引用异常,而在Firefox中,它抛出了未找到的元素异常。请寻求帮助。以下是代码:
package com.TSOne.tcone;
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
public class Calendar {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "/Users/owner/desktop /chromedriver");
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("http://www.path2usa.com/travel-companions");
driver.findElement(By.cssSelector("#travel_date")).click();
List<WebElement>dates =driver.findElements(By.cssSelector(".day"));
System.out.println(dates.size());
//WebElementdate_picker=driver.findElement(By.cssSelector("thead.datepicker-switch"));
// WebElement date_picker=driver.findElement(By.xpath("//[@class='datepicker-switch']"));
WebElement navigator=driver.findElement(By.cssSelector([class='datepicker-days'] th[class='next']"));
while(!driver.findElement(By.cssSelector("[class='datepicker-days'] th[class='datepicker-switch']")).getText().contains("April"))
driver.findElement(By.cssSelector("[class='datepicker-days'] th[class='next']")).click();
for(int i=0;i<dates.size();i++) {
String text=dates.get(i).getText();
if(text.equalsIgnoreCase("23"))
dates.get(i).click();
}
}
}