【问题标题】:how to get the text from the HTML using java code? [duplicate]如何使用 java 代码从 HTML 中获取文本? [复制]
【发布时间】:2015-02-13 08:20:41
【问题描述】:

在这段 HTML 代码中,我需要使用 selenium testng 获取“Status”文本。

          <div class="dojoxGridSortNode">Status</div>   

我将代码用作

    public static String gettext(){
   String Value = null;
try{
    Value = webElement.getAttribute("text");
    APP_LOGS.debug("Get Text on"+locatorDescription);
   }

使用此代码,我无法从 html 代码中获取文本。他们还有其他选项可以从 html 属性中获取文本吗?我也使用了 .getText() 方法。

提前致谢

【问题讨论】:

  • jsoup中如何使用?
  • 喜欢这个jsoup.org/cookbook
  • getText() 方法必须有效。如果您没有传递正确的 webelement,那么它不会传递。请尝试使用正确的 Webelement 以获取文本。
  • 你的webElement到底是什么?请务必阅读上述链接问题中的答案。

标签: java selenium testng


【解决方案1】:

您需要将 WebElement 作为参数传递以正确使用您的方法。

网络元素可以是这样的(根据 HTML sn-p,您已添加):

WebElement element = driver.findElement(By.xpath("//div[@class='dojoxGridSortNode']"));

而且,你的方法可以修改成这样:

  public static String gettext(WebElement webElement){
   String Value = null;
try{ 
    Value = webElement.getText();
    APP_LOGS.debug("Got Text: "+Value); 
    return Value;
   }catch(Throwable e){
     //Catch body
    } 
 }

您可以将关注的WebElement作为参数传递给上面的方法,并调用该方法获取所需的文本

【讨论】:

    【解决方案2】:

    除了Naveen的评论,你可以试试-

    Document doc = Jsoup.connect(<YOUR URL>).get();
    Elements elements= doc.select("div[class=dojoxGridSortNode]");
    String str = elements.text();
    

    您可以从这里下载 Jsoup jar - http://jsoup.org/download

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-02
      • 2017-03-21
      • 1970-01-01
      • 1970-01-01
      • 2012-11-24
      • 2016-02-21
      • 1970-01-01
      • 2014-11-26
      相关资源
      最近更新 更多