package com.ruoyi.common.spider.reptile;

import cn.hutool.json.JSONObject;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.chrome.ChromeDriver;

import org.openqa.selenium.chrome.ChromeOptions;

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.net.HttpURLConnection;

import java.net.URL;

/**

* @author vmlogin

*         

*             org.seleniumhq.selenium

*             selenium-java

*             3.141.59

*         

*/

public class ProductChrome {

public static void main(String[] args) throws Exception {

ProductChrome pc = new ProductChrome();

String profileId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

//根据profileId打开并获取远程调试地址

URL url = new URL(pc.startProfile(profileId));

//使用远程调试地址连接到打开的chrome浏览器

ChromeOptions chromeOptions = new ChromeOptions();

chromeOptions.setExperimentalOption("debuggerAddress", url.getAuthority());

WebDriver driver = new ChromeDriver(chromeOptions);

//访问vmlogin

driver.get("https://www.vmlogin.com/");

System.out.println(driver.getTitle());

driver.quit();

}

private String startProfile(String profileId) throws Exception {

String url = "http://127.0.0.1:35000/api/v1/profile/start?automation=true&profileId=" + profileId;

URL obj = new URL(url);

HttpURLConnection con = (HttpURLConnection) obj.openConnection();

con.setRequestMethod("GET");

BufferedReader in = new BufferedReader(

new InputStreamReader(con.getInputStream()));

String inputLine;

StringBuffer response = new StringBuffer();

while ((inputLine = in.readLine()) != null) {

response.append(inputLine);

}

in.close();

JSONObject jsonResponse = new JSONObject(response.toString());

return jsonResponse.getStr("value");

}

}

VMLogin反指纹防关联超级浏览器:https://www.vmlogin.org/

Logo

快速构建 Web 应用程序

更多推荐