HtmlUnitDriver 網頁內容動態抓取


 

#抓取內容
WebDriver driver = new HtmlUnitDriver(false); driver.get(url); String html = driver.getPageSource();

#如何想等待一會元素渲染完畢
driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);
#進行百度搜索
public static void doSearch(String keyword) { final String url = "http://www.baidu.com"; WebDriver driver = new HtmlUnitDriver(false); driver.get(url); driver.findElement(By.id("kw")).sendKeys(keyword); Actions action = new Actions(driver); action.sendKeys(Keys.ENTER).perform(); System.out.println(driver.getPageSource()); }

 

1 Selenium可支持的【真實】瀏覽器驅動:

  PC端驅動:firefox、safari、iechromeopera driver

  移動端驅動: Windows PhoneSelendroidios-driverAppium  支持iphone、ipad、android、FirefoxOS【第三方】

 

  safari、ff都是以插件形式驅動瀏覽器本身的;ie、chrome都是通過二進制文件來驅動瀏覽器本身的;

  這些driver都是直接啟動並通過調用瀏覽器的底層接口來驅動瀏覽器的,因此具有最真實的用戶場景模擬,主要用於進行web的兼容性測試使用。

 

2 selenium可支持的【偽瀏覽器】驅動:

  HtmlUnit 、PhantomJS 

  它們都不是真正的在瀏覽器、都沒有GUI,而是具有支持html、js等解析能力的類瀏覽器程序;這些程序不會渲染出網頁的顯示內容,但是支持頁面元素的查找、JS的執行等;由於不進行css及GUI渲染,所以運行效率上會比真實瀏覽器要快很多,主要用在功能性測試上面。htmlunit是Java實現的類瀏覽器程序,包含在selenium server中,無需驅動,直接實例化即可;其js的解析引擎是Rhino。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM