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

來源:互聯網
上載者:User

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”。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.