Chrome浏览器对硒自动化抛出过时的元素引用期望

时间:2018-06-19 19:13:02

标签: selenium-webdriver

我正在尝试使日期选择器日历自动化。在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();

    }
}

}

0 个答案:

没有答案