package com.zzsn.util;

import java.util.ArrayList;
import java.util.List;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;


public class ChromeUtil {
	static ChromeOptions    options1=new ChromeOptions() ;
	static WebDriver driver;
	static{
		System.setProperty("webdriver.chrome.driver","E:\\chrome\\chromedriver.exe");//chromedriver服务地址
		System.setProperty("webdriver.chrome.bin", "C:\\Users\\WIN10\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe");

		options1.setBinary("C:\\Users\\WIN10\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe");
		//options1.addArguments("--headless");
	      /*  Map<String, Object> contentSettings = new HashMap<String, Object>();
	        contentSettings.put("images", 2);
	         
	        Map<String, Object> preferences = new HashMap<String, Object>();
	        preferences.put("profile.default_content_settings", contentSettings);*/
		options1.addArguments("blink-settings=imagesEnabled=false");


		driver =new ChromeDriver(options1);
	}

	public static String getChromeDoc(String url){

		//新建????WebDriver 的对象，但是new 的是FirefoxDriver的驱??
		try {
			driver.get("https://www.baidu.com");
			//打开指定的网??
		} catch (Exception e1) {
			// TODO Auto-generated catch block
			//e1.printStackTrace();
			driver =new ChromeDriver(options1);
			driver.get("https://www.baidu.com");
		}
		try {

			driver.get(url);
			Thread.sleep(2000);
			String doc=driver.getPageSource();
			//	driver.close();
			return doc;
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			driver.quit();
		}

		/**
		 * dr.quit()和dr.close()都可以??出浏览器,????的说????两??的区别：第一个close??
		 * 如果打开了多个页面是关不干净的，它只关闭当前的一个页面??第二个quit??
		 * 是??出了????Webdriver????的窗口，????非常干净，所以推荐使用quit????????case????的方法??
		 */
		return null;
	}

	public static List<String> getChromeDocMap(String url){
		List<String> list=new ArrayList<String>();

		//新建????WebDriver 的对象，但是new 的是FirefoxDriver的驱??
		try {
			driver.get("https://www.baidu.com");
			//打开指定的网??
		} catch (Exception e1) {
			// TODO Auto-generated catch block
			//e1.printStackTrace();
			if(driver!=null) {
				driver.quit();
			}
			driver =new ChromeDriver(options1);
			driver.get("https://www.baidu.com");
		}
		try {

			driver.get(url);
			Thread.sleep(2000);
			String doc=driver.getPageSource();
			String url1=driver.getCurrentUrl();
			//	driver.close();
			list.add(doc);
			list.add(url1);

			return list;
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			if(driver!=null) {
				driver.quit();
			}
		}

		/**
		 * dr.quit()和dr.close()都可以??出浏览器,????的说????两??的区别：第一个close??
		 * 如果打开了多个页面是关不干净的，它只关闭当前的一个页面??第二个quit??
		 * 是??出了????Webdriver????的窗口，????非常干净，所以推荐使用quit????????case????的方法??
		 */
		return null;
	}


	public static void main(String[] args) {

		ChromeUtil.getChromeDoc("https://www.baidu.com/s?rtt=4&bsst=1&cl=2&tn=news&rsv_dl=ns_pc&lqst=1&x_bd_lqst=1&word=%E5%A4%A9%E6%B4%A5+%E6%B7%B7%E6%94%B9&pn=60");

	}
}
