前言
通过控制已经打开的浏览器这种方式可以省去在开发调试过程中需要重新执行流程的麻烦,也可以达到反反爬的效果。
- Chrome.exe 右击属性 在目标栏中加入下面参数,配置完成之后打开这个Chrome再配合我们的代码就能成功接管这个浏览器了。
--remote-debugging-port=9222 --user-data-dir="D:\logs"
ps: --user-data-dir="D:\logs" 存放新的Chrome数据,相当于新的Chrome
2. 简单Demo
private final static String CHROME_DRIVER_NAME = "webdriver.chrome.driver";
private final static String CHROME_DRIVER_87_PATH = "C:\\drive\\chromedriver-87.exe";
public static void main(String[] args) {
System.setProperty(CHROME_DRIVER_NAME, CHROME_DRIVER_87_PATH);
ChromeOptions option = new ChromeOptions();
option.setExperimentalOption("debuggerAddress", "127.0.0.1:9222");
ChromeDriver driver = new ChromeDriver(option);
System.out.println(driver.getTitle());
driver.findElementByXPath("//*[@id=\"sb_form_q\"]").sendKeys("Java");
driver.findElementByXPath("//*[@id=\"sb_form_q\"]").sendKeys(Keys.ENTER);
System.out.println(driver.getTitle());
}
前言
通过控制已经打开的浏览器这种方式可以省去在开发调试过程中需要重新执行流程的麻烦,也可以达到反反爬的效果。
- Chrome.exe 右击属性 在目标栏中加入下面参数,配置完成之后打开这个Chrome再配合我们的代码就能成功接管这个浏览器了。
--remote-debugging-port=9222 --user-data-dir="D:\logs"
ps: --user-data-dir="D:\logs" 存放新的Chrome数据,相当于新的Chrome
2. 简单Demo
private final static String CHROME_DRIVER_NAME = "webdriver.chrome.driver";
private final static String CHROME_DRIVER_87_PATH = "C:\\drive\\chromedriver-87.exe";
public static void main(String[] args) {
System.setProperty(CHROME_DRIVER_NAME, CHROME_DRIVER_87_PATH);
ChromeOptions option = new ChromeOptions();
option.setExperimentalOption("debuggerAddress", "127.0.0.1:9222");
ChromeDriver driver = new ChromeDriver(option);
System.out.println(driver.getTitle());
driver.findElementByXPath("//*[@id=\"sb_form_q\"]").sendKeys("Java");
driver.findElementByXPath("//*[@id=\"sb_form_q\"]").sendKeys(Keys.ENTER);
System.out.println(driver.getTitle());
}