在selenium + jsoup

时间:2016-06-29 17:02:23

标签: javascript selenium iframe jsoup

我在java中使用selenium webdriver + jsoup进行自动化和解析。我可以手动访问网站并在新标签页中打开iframe。我想自动这样做。

我检查了包含广告的网站上的iframe,这些iframe的src attributre为空或空白。它们包含iframe,其中src属性设置为iframe源。如何通过代码获取此URL?

我想打开一个链接,获取所有iframe,并输出那些iframe的source属性,firefox会引用我的那些来源,如果我点击“在新标签中打开框架”

WebDriver driver = new FirefoxDriver();
driver.manage().timeouts().pageLoadTimeout(200, TimeUnit.SECONDS);
String baseUrl = "https://www.iplocation.net/";

driver.get(baseUrl);
String source = driver.getPageSource();

List<Element> iframes = doc.getElementsByTag("iframe");
System.out.println("Number of iframes = "+ iframes.size());
System.out.println("URL of 1st iframe: " + iframes.get(0).attr("src”)); // empty

1 个答案:

答案 0 :(得分:0)

  

我检查了包含广告的网站上的iframe,这些iframe的src attributre为空或空白。它们包含iframe,其中src属性设置为iframe源。如何通过代码获取此URL?

不要将代码与Jsoup混合使用。仅限Selenium API。 在这种情况下,我可以看到两个步骤:

  • 找到src属性为空的iframe
  • 在iframe中找到将src属性设置为
  • 的iframe

有关详细信息,请参阅问题:How to handle iframe in WebDriver?