2016-06-29 5 views
0

私は自動化と解析のためにjavaでselenium webdriver + jsoupを使用しています。手動でウェブサイトを開き、iframeを新しいタブで開くことができます。私はこれを自動的にやりたいセレン+ jsoupで新しいタブでフレームをプログラムで開く

広告を含むウェブサイトでiframeを検査しました。これらのiFrameのsrc属性は空または空白です。それらには、src属性がiframeのソースに設定されているiframeが含まれています。コードでこのURLを取得するにはどうすればよいですか?

私は「新しいタブで開いているフレームを」クリックすると、Firefoxが、私を参照することになり、これらの情報源、それらのiframeのソース属性を、リンクを開くすべてのiframeを取得し、出力したい

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属性は空または空白です。それらには、src属性がiframeのソースに設定されているiframeが含まれています。コードでこのURLを取得するにはどうすればよいですか?

コードをJsoupと混用しないでください。 Selenium APIのみでご利用ください。 私はこのケースでは2つのステップを見ることができます:How to handle iframe in WebDriver?

  • が空
  • を検索src属性を持つのiframeを探すのiframeがsrc属性は、詳細についての質問を参照してください

に設定したものを、アイフレーム内部

+0

ソースを取得するためにネストされたiframeに移動する必要があることがわかります。しかし、私が望んでいたのは、これを得るためのより良い方法か、これを再帰的に行うためのアルゴリズムでした。 – user3834119

関連する問題