如何从网页返回信息?

时间:2019-07-05 06:16:10

标签: javascript eclipse selenium jsoup pageobjects

我正在设置基本的页面对象模式自动化测试。打开谷歌,输入搜索,点击结果链接并返回信息。我已经将其导航到需要从中提取信息的页面。我需要从www.sahipro.com的底部找到联系信息,并将其返回到测试类的控制台。我不能只收集电子邮件和电话号码,我得到了html额外的东西。而且我不知道如何在测试类中调用该页面结果。

我不能仅解析联系人文本,而且我不知道如何将其带到我的单独测试类中。我对此很陌生,所以我的知识充其量是初学者。

try {

//Get Document object after parsing the html from given url.
Document document = Jsoup.connect("http://https://sahipro.com/").get();

Element support = document.text("support@sahipro.com"); //Get Support
print("  Support Email: " + support); //Print support.

}catch (IOException e) {
e.printStackTrace();
}

print("done");
}

public static void print(String string) {
System.out.println(string);
}

我正在返回信息,但它是以html格式输入的。     控制台:

running...
Support Email: <html>



<head>
<meta http-equiv="refresh" 
content="0;url=http://www.dnsrsearch.com/index.php
origURL=http://https%2Fsahipro.com%2F&amp;bc=">
</head>
<body>
support@sahipro.com
</body>
</html>

1 个答案:

答案 0 :(得分:0)

jsoup类Element的方法文本从给定节点获取文本。您的代码正在从文档根目录获取文本。要获取特定节点的文本,请使用select方法获取特定节点。  使用

 document.select("a[^='mailto:']")[0].text();

将命令应用于代码

try {

 //Get Document object after parsing the html from given url.
      Document document = 
      Jsoup.connect("http://https://sahipro.com/").get();

       String support = document.select("a[^='mailto:']")[0].text();
        String phone = document.select("a[^='tel:']")[0].text();

      print("  Support Email: " + support + " Support Phone: "+ phone ); 

     }catch (IOException e) {
      e.printStackTrace();
     }

     print("done");
 }

public static void print(String string) {
    System.out.println(string);
 }