无法读取使用webdriver的硒的gettext的()从文本框的文本? [英] Unable to read text from textbox using gettext() of selenium webdriver?

查看:179
本文介绍了无法读取使用webdriver的硒的gettext的()从文本框的文本?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法读取日期从阿贾克斯日历控件的日期选择在

<一个href="http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/Calendar/Calendar.aspx">http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/Calendar/Calendar.aspx

我没有得到任何错误,但我无法获取来自文本框的任意值。

 公共静态无效的主要(字串[] args)抛出InterruptedException的{

        webdriver的驱动程序=新FirefoxDriver();
        driver.get(http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/Calendar/Calendar.aspx);
        。driver.manage()窗口()最大()。


        //默认日历:
        。driver.findElement(By.xpath(// * [@ ID ='ctl00_SampleContent_Date1']))点击();

        的for(int i = 0; I&LT; = 5;我++){

            对于(INT J = 0; J&LT; = 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());


        //日历与相关按钮:

        的System.out.println(日历与相关按钮:------------------------------------- -----------------);

        。driver.findElement(By.xpath(// * [@ ID ='ctl00_SampleContent_Image1']))点击();

        的for(int i = 0; I&LT; = 5;我++){

            对于(INT J = 0; J&LT; = 6; J ++){

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

            }
            的System.out.println();
        }

        视频下载(5000L);
        。driver.findElement(By.xpath(// * [@ ID ='ctl00_SampleContent_Image1']))点击();
        driver.findElement(By.xpath("//*[@id='ctl00_SampleContent_calendarButtonExtender_day_3_3']")).click();

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


    }
 

解决方案

的调用来获取输入文本应该是:

  driver.findElement(By.id(ctl00_SampleContent_Date5))的getAttribute(价值)。
 

不要问我为什么,这只是它的方式一直是。通过输入到输入元素,你改变它的属性。

I can't read dates from ajax calendar control after date selection

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

I don't get any error but I can't fetch any value from textbox.

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());


    }

解决方案

The call to get the input text should be:

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

Don't ask me why, it's just the way it always has been. By typing into an input element, you are changing its value attribute.

这篇关于无法读取使用webdriver的硒的gettext的()从文本框的文本?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆