2016-06-29 60 views
0

我在使用java中的selenium webdriver + jsoup進行自動化和解析。手動我可以去一個網站,並在新標籤中打開iframe。我想自動執行此操作。以編程方式在selenium + jsoup中以新選項卡打開框架

我考察含廣告的網站的內部框架,這些I幀都SRC attributre空或空白。它們包含內部的iframe,其中src屬性設置爲iframe的源。我如何通過代碼獲取此URL?

我想開一個鏈接,讓所有的I幀,並且輸出那些I幀的源屬性,那些火狐會指我來源,如果我點擊「開放框架在新標籤頁」

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 

回答

0

我檢查了包含廣告的網站上的iframe,這些iframe具有src atvy空白或空白。它們包含內部的iframe,其中src屬性設置爲iframe的源。我如何通過代碼獲取此URL?

請勿混用Jsoup的代碼。只使用Selenium API。 我可以看到在這種情況下兩個步驟:How to handle iframe in WebDriver?

  • 找出具有src中的I幀屬性空
  • 找到那些I幀的I幀已經src屬性設置爲

詳情請見問題內部

+0

我知道我必須去嵌套iframe來獲取源代碼。但是我想要的是一個更好的方法來獲得這個或一個算法遞歸地做到這一點可能。 – user3834119

相關問題