调试Hubstudio的参数等信息
https://support-orig.hubstudio.cn/4be5/a970
启动命令
hubstudio_connector.exe --server_mode=http --http_port=6873 --app_id=202509061414000050404716544 --group_code=15346795 --app_secret=MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCs+Mgwi7MQGMweYxLyFQBd2lJPkz6SlG1+faVOcPps+7CTyEaYPVENp7iJnFPjBui3lQm5RcukvOXIGZny8WnACAA9+9Fa5+fOG2dYRxmYB7gUMQmrWmwuDqU4kC64USuaG8Cp0YttRgw6aEUjfSE3k+w6nE734vIRTzXq5uB4DxCq/9BAax+5pjOMZpE/qyVYv6Gk4H8AMD3PTKxhkJNSX98DZ7hH0Lm478WAuTyAoINNwD3IZEm+ER6fB0y/3rhxUHmTx+K5KkXcZqzDjIe6U/wqZp+QM1iW1GTI9798JjuFTES9ViYsZWeJL3d+Oq6CIUjABuJdmifCP/XAChLlAgMBAAECggEASL89GsW2Yp+7QVBzyGKyy8Yldhg8adOJFXjsjEgR2sIkKpNBtYecTjzq7N1VnpbqS0OgWk6Tbk6P6Y9y4u1Lh5sV1vvQugXsxQ9bcJI+nmUosz1Ijsux0dERBfAF5jklOGRRrFpX5HZgcDQoV9upm8FXyfKxd6n4GvWQfKHraDJi2MD+j2gyqBt+xjf/E+NJ1VBfEMm/eZlZjRjhb9CSjGfco/c5e0pvIl8IFm8i5U1+Nc/j5gWDSU5CZ/Y/wVbIddpfEdAwLOpM2NAkLTeghiwi8/qoVKb5tV04BwWpzWwGkDxUAD9iAdlnNZq6p/SftqA76AxFOzy8KZVuGMtYIQKBgQD0XNY7ryXh6LTvrqPfRvzRIAwY04qu5gn6CscViA/aJBRY60JnlT5S+zyOynX547mHLdd5BdtvWNUsJmheIpt6DzC6AqxHSoHdSEAzSkw20UDgZuZ2MAu06gQBHulwOm+kbGMsry71gN8QqwbZjhAz3H/ZfVoWhvB5JmTkxSGd3QKBgQC1NZQ9GbOPwByMIyulDZpfP/QEJiv8yFgS6Nxs494xSoHw0Bn4fISAuIjURB9qXFRtfSYPwoMeontzWynAGHEi+nR7U9oxdRSh38pUiF1EwSsF/fFzlRVPp4LoH/VRVhxigd0jaxCXKw1KbAyVetlVpFvRSAqsxB2I13M7RlSMqQKBgQCCX/3VPi+CBnxy3MSF3gQJN4X8wPDfO9Da3WE2ta9vfYx1nJ+DUHc+Itk+ffrP5pYX73dlFKDtGYIy2hMZFnHJf81JkR+FsdTz0RafxuY+4QoyL/SJ3jyAu9KDHpEB1cu2+DU5pAXz6lwZMoanEErIwL5dtamZF0m5+age/qZe6QKBgCfgcIy5mTArIJ0eKD6cLbqEQlifZdKs6+TNZaR4yK6kLNAnm295R1dkRIghraAkTVgC0FtrfJtDOlN6XketmUgPQY7aNwvnLfEpZEcR8yRsNeGNrpK23ge3XzFhxwRtJLXwyg8/Qllh2fzkpihG7ojQMHxvlBnM1osEjpEeuwBxAoGBAJwm32DBNATnxHvt8M7g66owFyIkrFAurs3+u1+INm7io61PgZpbNAThUQ2zqgYD8uZL+sBlgg55EDH/ZyssV+MOE6RqAwj+jR/0Ao7farkzshc1yr+P8Wipx46zOTq/S4zqrc34r1AlN0GbhgF6uXFm26PGaStdUr3xXvTnymQW
hubstudio_connector.exe --server_mode=http --http_port=6873 --app_id=202509061414000050404716544 --group_code=15346795 --app_secret=MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCs+Mgwi7MQGMweYxLyFQBd2lJPkz6SlG1+faVOcPps+7CTyEaYPVENp7iJnFPjBui3lQm5RcukvOXIGZny8WnACAA9+9Fa5+fOG2dYRxmYB7gUMQmrWmwuDqU4kC64USuaG8Cp0YttRgw6aEUjfSE3k+w6nE734vIRTzXq5uB4DxCq/9BAax+5pjOMZpE/qyVYv6Gk4H8AMD3PTKxhkJNSX98DZ7hH0Lm478WAuTyAoINNwD3IZEm+ER6fB0y/3rhxUHmTx+K5KkXcZqzDjIe6U/wqZp+QM1iW1GTI9798JjuFTES9ViYsZWeJL3d+Oq6CIUjABuJdmifCP/XAChLlAgMBAAECggEASL89GsW2Yp+7QVBzyGKyy8Yldhg8adOJFXjsjEgR2sIkKpNBtYecTjzq7N1VnpbqS0OgWk6Tbk6P6Y9y4u1Lh5sV1vvQugXsxQ9bcJI+nmUosz1Ijsux0dERBfAF5jklOGRRrFpX5HZgcDQoV9upm8FXyfKxd6n4GvWQfKHraDJi2MD+j2gyqBt+xjf/E+NJ1VBfEMm/eZlZjRjhb9CSjGfco/c5e0pvIl8IFm8i5U1+Nc/j5gWDSU5CZ/Y/wVbIddpfEdAwLOpM2NAkLTeghiwi8/qoVKb5tV04BwWpzWwGkDxUAD9iAdlnNZq6p/SftqA76AxFOzy8KZVuGMtYIQKBgQD0XNY7ryXh6LTvrqPfRvzRIAwY04qu5gn6CscViA/aJBRY60JnlT5S+zyOynX547mHLdd5BdtvWNUsJmheIpt6DzC6AqxHSoHdSEAzSkw20UDgZuZ2MAu06gQBHulwOm+kbGMsry71gN8QqwbZjhAz3H/ZfVoWhvB5JmTkxSGd3QKBgQC1NZQ9GbOPwByMIyulDZpfP/QEJiv8yFgS6Nxs494xSoHw0Bn4fISAuIjURB9qXFRtfSYPwoMeontzWynAGHEi+nR7U9oxdRSh38pUiF1EwSsF/fFzlRVPp4LoH/VRVhxigd0jaxCXKw1KbAyVetlVpFvRSAqsxB2I13M7RlSMqQKBgQCCX/3VPi+CBnxy3MSF3gQJN4X8wPDfO9Da3WE2ta9vfYx1nJ+DUHc+Itk+ffrP5pYX73dlFKDtGYIy2hMZFnHJf81JkR+FsdTz0RafxuY+4QoyL/SJ3jyAu9KDHpEB1cu2+DU5pAXz6lwZMoanEErIwL5dtamZF0m5+age/qZe6QKBgCfgcIy5mTArIJ0eKD6cLbqEQlifZdKs6+TNZaR4yK6kLNAnm295R1dkRIghraAkTVgC0FtrfJtDOlN6XketmUgPQY7aNwvnLfEpZEcR8yRsNeGNrpK23ge3XzFhxwRtJLXwyg8/Qllh2fzkpihG7ojQMHxvlBnM1osEjpEeuwBxAoGBAJwm32DBNATnxHvt8M7g66owFyIkrFAurs3+u1+INm7io61PgZpbNAThUQ2zqgYD8uZL+sBlgg55EDH/ZyssV+MOE6RqAwj+jR/0Ao7farkzshc1yr+P8Wipx46zOTq/S4zqrc34r1AlN0GbhgF6uXFm26PGaStdUr3xXvTnymQW
package com.inbai.springboot_for_qianduantest_axios;
import org.json.JSONObject;
import org.openqa.selenium.By;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import java.io.IOException;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
import java.util.concurrent.TimeUnit;
public class Main {
public static void main(String[] args) throws IOException, InterruptedException {
JSONObject startRes = startEnvironment();
System.out.println("启动环境返回: " + startRes.toString(2));
if (startRes.getInt("code") != 0) {
System.out.println("启动环境失败: " + startRes.getString("msg"));
return;
}
// 获取 debug 端口和 webdriver 路径
JSONObject data = startRes.getJSONObject("data");
String webdriverPath = data.getString("webdriver");
int debuggingPort = data.getInt("debuggingPort");
// 2️⃣ Selenium attach HubStudio 浏览器
System.setProperty("webdriver.chrome.driver", webdriverPath);
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.setExperimentalOption("debuggerAddress", "127.0.0.1:" + debuggingPort);
ChromeDriver driver = new ChromeDriver(chromeOptions);
try {
// 3️⃣ 打开百度首页
driver.get("https://www.baidu.com");
TimeUnit.SECONDS.sleep(5);
// 4️⃣ 输入 hubstudio 并搜索
driver.findElement(By.id("kw")).sendKeys("hubstudio");
driver.findElement(By.id("su")).click();
TimeUnit.SECONDS.sleep(5);
} finally {
// 5️⃣ 关闭浏览器
driver.quit();
}
}
// 调用 /browser/start 启动环境
public static JSONObject startEnvironment() throws IOException {
// HubStudio API 参数
final String BASE_URL = "http://localhost:6873/api/v1";
final String APP_ID = "202509061414000050404716544";
final String APP_SECRET = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCs+Mgwi7MQGMweYxLyFQBd2lJPkz6SlG1+faVOcPps+7CTyEaYPVENp7iJnFPjBui3lQm5RcukvOXIGZny8WnACAA9+9Fa5+fOG2dYRxmYB7gUMQmrWmwuDqU4kC64USuaG8Cp0YttRgw6aEUjfSE3k+w6nE734vIRTzXq5uB4DxCq/9BAax+5pjOMZpE/qyVYv6Gk4H8AMD3PTKxhkJNSX98DZ7hH0Lm478WAuTyAoINNwD3IZEm+ER6fB0y/3rhxUHmTx+K5KkXcZqzDjIe6U/wqZp+QM1iW1GTI9798JjuFTES9ViYsZWeJL3d+Oq6CIUjABuJdmifCP/XAChLlAgMBAAECggEASL89GsW2Yp+7QVBzyGKyy8Yldhg8adOJFXjsjEgR2sIkKpNBtYecTjzq7N1VnpbqS0OgWk6Tbk6P6Y9y4u1Lh5sV1vvQugXsxQ9bcJI+nmUosz1Ijsux0dERBfAF5jklOGRRrFpX5HZgcDQoV9upm8FXyfKxd6n4GvWQfKHraDJi2MD+j2gyqBt+xjf/E+NJ1VBfEMm/eZlZjRjhb9CSjGfco/c5e0pvIl8IFm8i5U1+Nc/j5gWDSU5CZ/Y/wVbIddpfEdAwLOpM2NAkLTeghiwi8/qoVKb5tV04BwWpzWwGkDxUAD9iAdlnNZq6p/SftqA76AxFOzy8KZVuGMtYIQKBgQD0XNY7ryXh6LTvrqPfRvzRIAwY04qu5gn6CscViA/aJBRY60JnlT5S+zyOynX547mHLdd5BdtvWNUsJmheIpt6DzC6AqxHSoHdSEAzSkw20UDgZuZ2MAu06gQBHulwOm+kbGMsry71gN8QqwbZjhAz3H/ZfVoWhvB5JmTkxSGd3QKBgQC1NZQ9GbOPwByMIyulDZpfP/QEJiv8yFgS6Nxs494xSoHw0Bn4fISAuIjURB9qXFRtfSYPwoMeontzWynAGHEi+nR7U9oxdRSh38pUiF1EwSsF/fFzlRVPp4LoH/VRVhxigd0jaxCXKw1KbAyVetlVpFvRSAqsxB2I13M7RlSMqQKBgQCCX/3VPi+CBnxy3MSF3gQJN4X8wPDfO9Da3WE2ta9vfYx1nJ+DUHc+Itk+ffrP5pYX73dlFKDtGYIy2hMZFnHJf81JkR+FsdTz0RafxuY+4QoyL/SJ3jyAu9KDHpEB1cu2+DU5pAXz6lwZMoanEErIwL5dtamZF0m5+age/qZe6QKBgCfgcIy5mTArIJ0eKD6cLbqEQlifZdKs6+TNZaR4yK6kLNAnm295R1dkRIghraAkTVgC0FtrfJtDOlN6XketmUgPQY7aNwvnLfEpZEcR8yRsNeGNrpK23ge3XzFhxwRtJLXwyg8/Qllh2fzkpihG7ojQMHxvlBnM1osEjpEeuwBxAoGBAJwm32DBNATnxHvt8M7g66owFyIkrFAurs3+u1+INm7io61PgZpbNAThUQ2zqgYD8uZL+sBlgg55EDH/ZyssV+MOE6RqAwj+jR/0Ao7farkzshc1yr+P8Wipx46zOTq/S4zqrc34r1AlN0GbhgF6uXFm26PGaStdUr3xXvTnymQW";
final String GROUP_CODE = "15346795";
final String ENV_ID = "1339084309"; // 之前创建的环境ID
URL url = new URL(BASE_URL + "/browser/start");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
conn.setDoOutput(true);
// 请求参数
JSONObject json = new JSONObject();
json.put("app_id", APP_ID);
json.put("app_secret", APP_SECRET);
json.put("group_code", GROUP_CODE);
json.put("containerCode", ENV_ID);
try (OutputStream os = conn.getOutputStream()) {
os.write(json.toString().getBytes("UTF-8"));
}
// 读取返回
Scanner scanner = new Scanner(conn.getInputStream(), "UTF-8");
StringBuilder sb = new StringBuilder();
while (scanner.hasNextLine()) {
sb.append(scanner.nextLine());
}
scanner.close();
return new JSONObject(sb.toString());
}
}
<!-- Selenium -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.21.0</version>
</dependency>
<!-- JUnit 4 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
<!-- JSON 处理 -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20230618</version>
</dependency>本站所有文章、数据、图片均来自互联网,一切版权均归源网站或源作者所有。
如果侵犯了你的权益请来信告知我们删除。
下一篇:Java泛型(Generics)


