Webdriver没有在屏幕中找到下一个日期选择器

时间:2016-07-01 06:53:47

标签: selenium selenium-webdriver datepicker webdriver testng

我对自动化有点新意,我正在尝试编写一个脚本来填充特定屏幕中的少量数据并提交它们。导航到屏幕并将数据添加到少数字段是正确完成的。

屏幕上有两个日期选择器。 "从日期" 一个被选中并且日期已过帐但不是"到目前为止" 选择器。

Screen view

有人可以帮帮我吗。

这是我开发的代码。

public class BusinessCalendar extends Login{

static String Nav = "xxxx";

    @BeforeTest
    public void Navigation(){
        driver.navigate().to(Nav);
    }

    @Test
    public void CreateBusinessCalendar(){
        driver.findElement(By.id("txtBusinessYear")).click();
        driver.findElement(By.id("txtBusinessYear")).clear();
        driver.findElement(By.id("txtBusinessYear")).sendKeys("test year");
        driver.findElement(By.id("dtpFromDates")).clear();   
        driver.findElement(By.xpath("/html/body/div[10]/div[1]/table/tbody/tr[2]/td[5]")).click();
        driver.findElement(By.id("dtpToDates")).clear();
        driver.findElement(By.xpath("/html/body/div[10]/div[1]/table/tbody/tr[3]/td[4]")).click();
    }

    @AfterTest
    public void CloseBrowser(){
        driver.close();
        driver.quit();
    }
}

2 个答案:

答案 0 :(得分:0)

尝试使用以下代码:

@Test
public void CreateBusinessCalendar(){
    driver.findElement(By.id("txtBusinessYear")).click();
    driver.findElement(By.id("txtBusinessYear")).clear();
    driver.findElement(By.id("txtBusinessYear")).sendKeys("test year");
    driver.findElement(By.id("dtpFromDates")).clear();   
    driver.findElement(By.xpath("/html/body/div[10]/div[1]/table/tbody/tr[2]/td[5]")).click();
    Thread.sleep(2000);
    driver.findElement(By.id("dtpToDates")).clear();
    driver.findElement(By.id("dtpToDates")).click();
    driver.findElement(By.xpath("/html/body/div[10]/div[1]/table/tbody/tr[3]/td[4]")).click();
}

希望这有帮助。

答案 1 :(得分:0)

尝试执行此脚本并传递日期选择器的选择器。

jQuery('datepickerSelector').datepicker( 'setDate', '-1y' );

这将选择去年的当前日期,您也可以使用-1d