【问题标题】:How to gettext() of an element in Selenium Webdriver如何在 Selenium Webdriver 中获取元素的文本()
【发布时间】:2014-02-28 06:35:22
【问题描述】:

我正在通过其 ID 找到一个文本框。我需要获取文本框中已经存在的内容。为此,我使用了 gettext() 方法,但它返回的是 ID 值。

文本框中的内容是:Santhosh

我得到的输出是 = [[FirefoxDriver: firefox on XP (c0079327-7063-4908-b20a-a606b95830cb)] -> id: ctl00_ContentPlaceHolder1_txtName]

代码如下

代码

WebElement TxtBoxContent = driver.findElement(By.id(WebelementID));
TxtBoxContent.getText();
System.out.println("Printing " + TxtBoxContent);

结果

Printing [[FirefoxDriver: firefox on XP (c0079327-7063-4908-b20a-a606b95830cb)] -> id: ctl00_ContentPlaceHolder1_txtName]

【问题讨论】:

标签: java selenium selenium-webdriver


【解决方案1】:

您需要打印getText() 的结果。您当前正在打印对象 TxtBoxContent

getText() 只会获取元素的内部文本。要获取值,您需要使用getAttribute()

WebElement TxtBoxContent = driver.findElement(By.id(WebelementID));
System.out.println("Printing " + TxtBoxContent.getAttribute("value"));

【讨论】:

  • 我试过你的代码但它根本没有返回任何文本它只是显示:打印:之后没有文本请帮助 - 文本内容在文本框中我需要获取文本
  • 我需要获取其中的值,即 Santhosh
  • 非常感谢现在它的工作。感谢您拯救我的一天......我是 selenium 的新手,所以在分析代码时有点问题
  • 对于 Python,它将是 ...TxtBoxContent.get_attribute("value")
【解决方案2】:

您需要先将其存储在 String 变量中,然后再显示如下:

String Txt = TxtBoxContent.getText();
System.out.println(Txt);

【讨论】:

    【解决方案3】:
    text = driver.findElement(By.id('p_id')).getAttribute("innerHTML");
    

    【讨论】:

    • 和一些解释
    • 我无法使用其他解决方案从元素中获取测试。这对我有用
    猜你喜欢
    • 1970-01-01
    • 2016-08-01
    • 2012-09-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多