您的位置:首页 > 编程语言 > Java开发

webelement中的方法getText()和getAttribute(java.lang.String name)

2013-02-05 15:09 549 查看
getText(): 获取元素的visible内嵌文字。

如csdn首页中的链接<a class="left" target="_blank" href="http://www.csdn.net" onclick="LogClickCount(this,285);">首页</a>。

通过

        driver = new FirefoxDriver();

        url = "http://www.csdn.net/";

        driver.get(url);

        driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);

        String text = driver.findElement(By.xpath("//div[@class='csdn_pub_nav_bg']/div[1]/a[1]")).getText();

可取得文本“首页”。

而对于页面上输入类型的元素(input,textarea等),则不能通过getText()获取到相应的文本。如csdn首页中搜索框中默认的“搜索”二字。其标签为<input id="srch1" class="search" type="text" onblur="if(this.value=='')
this.value='搜索'; this.style.color='#999'; return true;" onfocus="if(this.value=='搜索') this.value='';this.style.color='#333'; return true;" value="搜索" name="passwordtwo" style="color:
rgb(153, 153, 153);"/>

通过String errorValue = driver.findElement(By.xpath("//input[@class='search']")).getText();得到的值为空。此时应使用getAttribute()。

getAttribute(
String name
):获取元素中名为name的属性的值。

通过String value = driver.findElement(By.xpath("//input[@class='search']")).getAttribute("value"); 即可获取到值“搜索”。

通过String type = driver.findElement(By.xpath("//input[@class='search']")).getAttribute("type");则对应可获得值“text”。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐