动态网页抓取( 可支持的【真实】驱动程序介绍(一))
优采云 发布时间: 2021-09-16 14:13动态网页抓取(
可支持的【真实】驱动程序介绍(一))
#抓取内容
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());
}
一,。selenium支持的[真实]浏览器驱动程序:
PC驱动程序:Firefox、Safari、ie、chrome、操作员驱动程序
移动驱动程序:Windows Phone、selendroid、IOS驱动程序和appium支持iPhone、iPad、Android和Firefox操作系统[第三方]
Safari和FF以插件的形式驱动浏览器本身;IE和chrome都通过二进制文件驱动浏览器本身
这些驱动程序直接启动,并通过调用浏览器的底层界面来驱动浏览器。因此,它们具有最真实的用户场景模拟,主要用于web兼容性测试
二,。selenium支持的伪浏览器驱动程序:
HtmlUnit、幻影
它们不是没有GUI的真正类似浏览器的程序,而是支持HTML、JS和其他解析功能的类似浏览器的程序;这些程序不会呈现网页的显示内容,但支持页面元素搜索、JS执行等;如果没有CSS和GUI渲染,运行效率将比真正的浏览器快得多,后者主要用于功能测试。Htmlunit是一个用Java实现的类浏览器程序,收录在selenium服务器中。无需驱动程序即可直接实例化;它的JS解析引擎是rhino