ajax - 无法使用 selenium webdriver 的 gettext() 从文本框中读取文本?

标签 ajax selenium webdriver

选择日期后,我无法从 ajax 日历控件中读取日期

http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/Calendar/Calendar.aspx

我没有收到任何错误,但我无法从文本框中获取任何值。

public static void main(String[] args) throws InterruptedException {

        WebDriver driver = new FirefoxDriver();
        driver.get("http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/Calendar/Calendar.aspx");
        driver.manage().window().maximize();


        //Default calendar: 
        driver.findElement(By.xpath("//*[@id='ctl00_SampleContent_Date1']")).click();

        for(int i=0;i<=5;i++){

            for(int j = 0;j<=6;j++){

                System.out.print(driver.findElement(By.xpath("//*[@id='ctl00_SampleContent_defaultCalendarExtender_day_"+i+"_"+j+"']")).getText()+"-");

            }
            System.out.println();
        }

        driver.findElement(By.xpath("//*[@id='ctl00_SampleContent_defaultCalendarExtender_day_3_4']")).click();

        System.out.println(driver.findElement(By.xpath("//*[@id='ctl00_SampleContent_Date1']")).getText());


        //Calendar with an associated button:

        System.out.println("Calendar with an associated button:------------------------------------------------------");

        driver.findElement(By.xpath("//*[@id='ctl00_SampleContent_Image1']")).click();

        for(int i=0;i<=5;i++){

            for(int j = 0;j<=6;j++){

                System.out.print(driver.findElement(By.xpath("//*[@id='ctl00_SampleContent_calendarButtonExtender_day_"+i+"_"+j+"']")).getText()+"-");

            }
            System.out.println();
        }

        Thread.sleep(5000L);
        driver.findElement(By.xpath("//*[@id='ctl00_SampleContent_Image1']")).click();
        driver.findElement(By.xpath("//*[@id='ctl00_SampleContent_calendarButtonExtender_day_3_3']")).click();

        System.out.println(driver.findElement(By.xpath("//*[@id='ctl00_SampleContent_Date5']")).getText());


    }

最佳答案

获取 input 的电话文字应该是:

driver.findElement(By.id("ctl00_SampleContent_Date5")).getAttribute("value");

别问我为什么,就是这样always has been .通过输入 input元素,您正在更改其 value属性。

关于ajax - 无法使用 selenium webdriver 的 gettext() 从文本框中读取文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11258207/

相关文章:

ajax - 是访问控制允许来源 : * unsafe?

javascript - 如何将鼠标悬停在超链接上 - Webdriver

java - 从哪里获取 Java Selenium Webdriver 的 IWait 和 IWebDriver 类?

c# - 鼠标交互未显示在 webdriver 屏幕截图中

java - 如何在带有 Java 的 WebDriver 中使用 XPATH 单击此元素?

javascript - 有没有更好的方法来做这个ajax调用

javascript - 安全的 Javascript 代码

javascript - Web API Post方法不保存数据

java - Selenium 检查日志文件

java - 并行执行且使用 "priority"时出现 TestNG 问题