使用java代码注册onloyoffice账号 || 注册onloyoffice账号
使用java代码注册onloyoffice账号
文章目录
- 使用java代码注册onloyoffice账号
- 手动 获取邀请注册地址
- 自动获取邀请链接
- 第一种方案
- 引入maven依赖
- 第二种方案
- ## 引入maven依赖
手动 获取邀请注册地址

**
自动获取邀请链接
import com.microsoft.playwright.Browser;
import com.microsoft.playwright.BrowserContext;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.Playwright;import java.util.Arrays;public class ewre {public static void main(String[] args) {try (Playwright playwright = Playwright.create()) {// 启动浏览器(可以选择无头模式或非无头模式)Browser browser = playwright.chromium().launch(); // 默认无头模式// 创建浏览器上下文并授予权限BrowserContext context = browser.newContext(new Browser.NewContextOptions().setPermissions(Arrays.asList(new String[]{"clipboard-read", "clipboard-write"}))); // 授予剪贴板权限Page page = context.newPage();// 导航到目标页面page.navigate("https://(自己服务器 域名或者ip)/Products/People/Default.aspx#sortby=firstname&sortorder=ascending");// 登录操作page.locator("#login").fill("管理员账号");page.locator("#pwd").fill("管理员密码");page.locator("#loginButton").click();// 等待登录完成并点击 "其他操作" 按钮page.waitForSelector("span.btn_other-actions", new Page.WaitForSelectorOptions().setTimeout(10000));page.locator("span.btn_other-actions").click(); // 点击按钮以显示侧边导航栏// 等待侧边导航栏出现page.waitForSelector("#sideNavInviteLink", new Page.WaitForSelectorOptions().setTimeout(10000));page.locator("#sideNavInviteLink").click();// 等待邀请链接按钮可点击page.waitForSelector("#getShortenInviteLink", new Page.WaitForSelectorOptions().setTimeout(10000));page.locator("#getShortenInviteLink").click();page.waitForSelector("#shareInviteUserLinkCopy", new Page.WaitForSelectorOptions().setTimeout(10000));page.locator("#shareInviteUserLinkCopy").click();// 等待剪贴板内容可用page.waitForTimeout(1000); // 等待 1 秒以确保剪贴板内容已更新// 获取剪贴板内容String clipboardText = (String) page.evaluate("() => navigator.clipboard.readText()");System.out.println("复制链接:" + clipboardText);} catch (Exception e) {e.printStackTrace();}}
}
第一种方案
@GetMapping(value = "/getLoginInfo")public String index() {try (Playwright playwright = Playwright.create()) {Browser browser = playwright.chromium().launch(); // 默认无头模式Page page = browser.newPage();// 导航并操作page.navigate("输入邀请注册地址文章开头有");page.locator("#studio_confirm_Email").fill("chenxinxin@axatp.com");page.locator("#studio_confirm_FirstName").fill("testUser");page.locator("#studio_confirm_LastName").fill("testUser");page.locator("#studio_confirm_pwd").fill("onloyoffice");page.locator("#studio_confirm_pwd_match").fill("onloyoffice");page.locator("#buttonConfirmInvite").click();// 断言结果String title = page.title();System.out.println(" 登录后页面标题:" + title);}return "test";}
引入maven依赖
<dependency><groupId>com.microsoft.playwright</groupId><artifactId>playwright</artifactId><version>1.40.0</version></dependency>
第二种方案
## 引入maven依赖
<dependency><groupId>net.sourceforge.htmlunit</groupId><artifactId>htmlunit</artifactId><version>2.70.0</version></dependency>
@RequestMapping(value = "/registerAccount")public RestResultDTO RegisterAccount(String userName) {try {// 创建浏览器实例(模拟 Chrome)WebClient webClient = new WebClient(BrowserVersion.CHROME);
// 启用 JS 和 CSS(默认禁用)webClient.getOptions().setJavaScriptEnabled(true);webClient.getOptions().setCssEnabled(false);// 加载页面并操作元素HtmlPage page = webClient.getPage("输入邀请注册地址文章开头有");HtmlInput username = page.getElementByName("studio_confirm_Email");username.setValueAttribute(userName);HtmlInput username1 = page.getElementByName("studio_confirm_FirstName");username1.setValueAttribute("onloyoffice");HtmlInput username2 = page.getElementByName("studio_confirm_LastName");username2.setValueAttribute("onloyoffice");HtmlInput username3 = page.getElementByName("studio_confirm_pwd");username3.setValueAttribute("testUser");HtmlInput username4 = page.getElementByName("studio_confirm_pwd_match");username4.setValueAttribute("onloyoffice");// 提交表单HtmlSubmitInput submitBtn = page.getElementByName("buttonConfirmInvite");HtmlPage resultPage = submitBtn.click();// 提取数据String title = resultPage.getTitleText();System.out.println(" 登录后页面标题:" + title);// 关闭连接webClient.close();return RestResultDTO.success("userName: "+userName+" password: onloyoffice");} catch (Exception e) {return RestResultDTO.error(ResponseCodeDTO.INTERNAL_SERVER_ERROR, e.getMessage());}}
