在这里,我想获取网页的页面源。网页有iframe。我能够使用下面的代码获取页面内容而不是iframe内容
WebDriver driver = new PhantomJSDriver(caps);
driver.get(url);
Thread.sleep(10000);
System.out.println(driver.getPageSource());
但是,我可以使用以下代码获取iframe内容,但不能获取页面内容
WebDriver driver = new PhantomJSDriver(caps);
driver.get(url);
Thread.sleep(10000);
WebElement iframe=driver.findElement(By.xpath("//[@id='selection']/div/iframe"));
driver.switchTo().frame(iframe);
System.out.println(driver.getPageSource());
在这里,我想同时获取pagecontent和iframe内容。
另一种情况是,如果网页包含多个iframe,我需要获取所有iframe内容以及网页内容。
是否可以获取iframe和主页内容的内容..?
答案 0 :(得分:0)
编写一个方法来获取内容,例如:
public void getIframeContent()
try
{
WebElement iframe=driver.findElement(By.xpath("//[@id='selection']/div/iframe"));
driver.switchTo().frame(iframe);
System.out.println(driver.getPageSource());
}
finally
{
driver.SwitchTo().DefaultContent();
}